添加两个右侧栏按钮项目到导航栏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了添加两个右侧栏按钮项目到导航栏相关的知识,希望对你有一定的参考价值。

我有我已经成功地将右BarButton导航栏。无论是导航栏和BarButton以编程方式创建。现在按照我的要求我到两个右BarButtons添加到我的导航栏。谁能告诉我如何做到这一点?我的应用定位的是ios4的。

答案

这段代码就可以了你,

 NSArray *barButtonItems= [[NSArray alloc] initWithObjects:self.addButton,self.sortbyButton,nil];
self.navigationItem.rightBarButtonItems=barButtonItems;

其中Add按钮和sortbyButton是2件独立的BarButton物品

另一答案

我知道这是为时已晚,但我最近所面对它。因此,这里是我做过什么在代码中创建一个UIView并添加按钮为子视图到了这一观点。使用创建的ToolBarButton [[ALLOC的UIBarButtonItem] initWithCustomView:按钮]

当U希望指定该工具栏按钮的左边或右边barbuttonItem。

另一答案

如果你的应用程序中定位iOS 4以上,那么你应该采取UISegmentControl和上就有两个部分。捕捉值改变行动的事件,并检查选择了哪个段,并相应地做你的操作。

您还可以设置图像段,使外观和感觉更好。

另一答案

由于文档UINavigationItem1介绍,它有一个属性rightBarButtonItems(以及leftBarButtonItems),您可以给UIBarButtons数组。它们是从右侧(索引0)到左(索引n-1)显示。

另一答案

@Matthias,如在文档所述,rightBarButtonItems属性可从iOS 5及以上和该功能需要被还支持iOS 4。

因此,分段控制是实现这一目标最好的方式。

另一答案
NSArray *segmentTextContent = [NSArray arrayWithObjects:
                               NSLocalizedString(@\"Group By\", @\"\"),
                               NSLocalizedString(@\"Filter By\", @\"\"),
                               nil];
UISegmentedcontrol *segmentedControl = [[UISegmentedControl alloc] initWithItems:segmentTextContent];
segmentedControl.selectedSegmentIndex = 0;
segmentedControl.autoresizingMask = UIViewAutoresizingFlexibleWidth;
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.frame = CGRectMake(0, 0, 125, 30);
[segmentedControl addTarget:self action:@selector(toggleUnit) forControlEvents:UIControlEventValueChanged];

segmentedControl.tintColor = [UIColor lightGrayColor];
defaultTintColor = [segmentedControl.tintColor retain];

self.navigationItem.rightBarButtonItem = segmentedControl;
[segmentedControl release];

以上是关于添加两个右侧栏按钮项目到导航栏的主要内容,如果未能解决你的问题,请参考以下文章

iPhone:在代码中的导航栏中将“添加信息”按钮添加为右侧栏按钮项

从导航栏左右栏按钮项减少左侧空间和右侧空间

如何将几个 UIBarButtonItem 添加到导航栏?

以编程方式将按钮添加到导航栏

导航右侧添加按钮隐藏导航条和状态栏

如何将三个按钮栏项目添加到 xib 文件