在UIToolbar上显示UISegmentedControl

在UIToolbar上显示UISegmentedControl,本来以为很容易,其实确实挺容易的,只是UIToolbar上所有的items都必须是UIBarButtonItem类型的,因此,需要先把UISegmentedControl转成UIBarButtonItem才能加上去。

UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 416, 320, 44)];
UIBarButtonItem *todayItem = [[UIBarButtonItem alloc] initWithTitle:@"今日"
                                                              style:UIBarButtonItemStyleBordered
                                                             target:self action:@selector(backToToday)];
UIBarButtonItem *spaceItem = [[UIBarButtonItem alloc]
                              initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
                              target:nil action:nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
                                        [NSArray arrayWithObjects:@"日", @"周", @"月", nil]];
[segmentedControl setFrame:CGRectMake(0, 0, 150, 30)];
[segmentedControl setSegmentedControlStyle:UISegmentedControlStyleBar];
segmentedControl.selectedSegmentIndex = 0;
[segmentedControl addTarget:self action:@selector(segmentChanged:)
           forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *segmentItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
NSArray *array = [[NSArray alloc] initWithObjects:todayItem, spaceItem, segmentItem, spaceItem, nil];
[todayItem release];
[spaceItem release];
[segmentItem release];
[toolBar setItems:array];
[array release];
[self.view addSubview:toolBar];
[toolBar release];

猜你喜欢

转载自eric-gao.iteye.com/blog/1786638