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

时间:2012-07-31 18:41:49

标签: uitableview uinavigationcontroller uitoolbar uisegmentedcontrol

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

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

storyboard http://i47.tinypic.com/5yg8pj.png

将此分段控件的ref插座添加到我的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;

仍然没有去。 我更喜欢使用storyboard / IB来创建我的UI,但我正在把它拉出来......

0 个答案:

没有答案