将UISegmentedControl按钮添加到UITableViewController中的工具栏

将UISegmentedControl按钮添加到UITableViewController中的工具栏,uitableview,uinavigationcontroller,uitoolbar,uisegmentedcontrol,Uitableview,Uinavigationcontroller,Uitoolbar,Uisegmentedcontrol,我正在尝试添加一个工具栏,其中UISegmentedControl显示在视图底部。 我在UITableViewController中,该控制器嵌入在tabbar控制器中的导航控制器中。通常的深入研究的东西。 我希望此工具栏仅显示在此特定选项卡视图中。我使用故事板 我尝试在IB(故事板)中创建一个分段控件,配置其项并将其放置在viewcontroller目录中(故事板中viewcontroller下方的灰色条) 将此分段控件的引用出口添加到my viewcontroller.h 然后取消隐藏n

我正在尝试添加一个工具栏,其中
UISegmentedControl
显示在视图底部。 我在
UITableViewController
中,该控制器嵌入在tabbar控制器中的导航控制器中。通常的深入研究的东西。 我希望此工具栏仅显示在此特定选项卡视图中。我使用故事板

我尝试在IB(故事板)中创建一个分段控件,配置其项并将其放置在viewcontroller目录中(故事板中viewcontroller下方的灰色条)

将此分段控件的引用出口添加到my viewcontroller.h 然后取消隐藏navcontroller工具栏并尝试添加此项

self.navigationController.toolbarHidden = NO;

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:myOutletSegmentedControl];
self.navigationController.toolbar.items = [NSArray arrayWithObjects:segmentBarItem, nil];
因此,我的
myOutletSegmentedControl
未初始化,即使我在IB中完全配置了它。 因此,以编程方式尝试:

self.navigationController.toolbarHidden = NO;

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:
                                        [NSArray arrayWithObjects:@"a-b",@"b-a",nil]];

[segmentedControl addTarget:self action:@selector(segmentAction:) forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = self.navigationController.toolbar.frame;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = NO;

UIBarButtonItem *segmentBarItem = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
self.navigationController.toolbar.items = [NSArray arrayWithObjects:segmentBarItem, nil];
现在在底部有一个工具栏,但没有任何项目

我甚至尝试在IB中创建整个工具栏->子按钮->子分段控件,并将其释放,然后执行以下操作:

 self.navigationController.toolbar = myNewOutletToolbar;
还是不行。 我确实更喜欢使用故事板/IB来创建我的UI,但我正在尝试使用它…

试试“self.hidesBottomBarWhenPushed=YES”,它可能会起作用。