我是iphone编程的新手,所以如果你可以帮助我,我会很感激 - 我一直在网上,无法找到答案。
我目前的设置是这样的
MainWindow.xib中的导航控制器>在MainWindow.xib中的导航控制器中查看调用RootViewController.xib> RootViewController.xib包含一个tableview。
然后我可以使用RootViewController.m中的以下代码加载到工具栏中
UIBarButtonItem *buttonOne = [[UIBarButtonItem alloc] initWithTitle:@"One"
style:UIBarButtonItemStyleBordered target:self action:@selector(buttonOnePushed)];
UIBarButtonItem *buttonTwo = [[UIBarButtonItem alloc] initWithTitle:@"Two"
style:UIBarButtonItemStyleBordered target:self action:@selector(buttonTwoPushed)];
NSArray *barArray = [NSArray arrayWithObjects: buttonOne, buttonTwo, nil];
[buttonOne release];
[buttonTwo release];
[self setToolbarItems:barArray animated:YES];
[self.navigationController setToolbarHidden:NO animated:YES];
此代码适用于按钮。但我无法为我的生活找到如何添加分段控件而不是按钮。我已经尝试了一个带有两个分段控件的数组,但是无法将数组添加到工具栏中。
如果有人能让我知道一些代码会以与我用来添加按钮相同的方式添加分段控件,我会非常感激。
谢谢,戴夫。
答案 0 :(得分:20)
解决方法是(1)创建UISegmentedControl
及其所有按钮等,然后(2)使用UIBarButtonItem
初始化程序创建initWithCustomView:(UIView *)view
并提供分段控制作为变量。然后使用数组将Bar Button项添加到工具栏,就像在示例代码中一样。
确保为分段控制器设置目标和操作,我建议将其样式设置为UISegmentedControlStyleBar
。它看起来就像地图应用程序底部的那个。希望这就是你要找的东西。
答案 1 :(得分:11)
这是我的代码,它将分段控件添加到导航控制器的工具栏中。 :
NSArray *segItemsArray = [NSArray arrayWithObjects: @"Settings", @"Templates", @"Notes", nil];
UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:segItemsArray];
segmentedControl.frame = CGRectMake(0, 0, 200, 30);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.selectedSegmentIndex = 2;
UIBarButtonItem *segmentedControlButtonItem = [[UIBarButtonItem alloc] initWithCustomView:(UIView *)segmentedControl];
UIBarButtonItem *flexibleSpace = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil];
NSArray *barArray = [NSArray arrayWithObjects: flexibleSpace, segmentedControlButtonItem, flexibleSpace, nil];
[self setToolbarItems:barArray];