导航栏中的uisegmentedcontrol

时间:2011-02-19 04:10:35

标签: iphone objective-c uinavigationbar uisegmentedcontrol

我试图把它放在导航栏中,但是没有出现,可以 看看吧?

UISegmentedControl *seg1 = [[UISegmentedControl alloc]
initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithCustomView:seg1];
UIBarButtonItem *flexItem = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:self action:nil];
[self.navigationController.navigationBar setItems:[NSArray
arrayWithObjects:flexItem, barItem, flexItem, nil]];
[flexItem release];
[barItem release];
[seg1 release];

1 个答案:

答案 0 :(得分:6)

UINavigationBar的{​​{1}}属性只接受items个对象的数组,而不接受UINavigationItem个对象。您无法像执行UIBarButtonItem一样配置导航栏。相反,在视图控制器中,执行以下操作:

UIToolbar

这会将分段控件添加到视图控制器导航项的标题视图中,这是一个以导航栏为中心显示的自定义视图。