我正在尝试添加一个UISegmentedControl
显示在视图底部的工具栏。我在一个UITableViewController
,它嵌入在一个导航控制器中,该控制器嵌入在标签栏控制器中。通常钻取东西。我希望这个工具栏只出现在这个特定的选项卡视图中。我使用故事板。
我尝试在 IB(情节提要)中创建分段控件,配置其项目并将其放置在 viewcontroller 目录中(情节提要中 viewcontroller 下方的灰色条)
将此分段控件的引用出口添加到我的 viewcontroller.h 然后取消隐藏导航控制器工具栏并尝试添加此项目
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,但我正在努力解决它......