导航栏中的分段控制

May*_*abi 0 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];
Run Code Online (Sandbox Code Playgroud)

CIF*_*ter 6

UINavigationBaritems属性只接受一个UINavigationItem对象数组,而不是UIBarButtonItem对象.您无法像执行导航栏一样配置导航栏UIToolbar.相反,在视图控制器中,执行以下操作:

UISegmentedControl * seg1 = [[UISegmentedControl alloc]
    initWithItems:[NSArray arrayWithObjects:@"von mir", @"alle", nil]];
[seg1 setSegmentedControlStyle:UISegmentedControlStyleBar];
self.navigationItem.titleView = seg1;
Run Code Online (Sandbox Code Playgroud)

这会将分段控件添加到视图控制器导航项的标题视图中,该导航项是显示在导航栏中心的自定义视图.