有谁知道如何在导航工具栏的右上角添加两个系统按钮?我知道可以添加自定义按钮,我真的不明白为什么系统按钮也不能这样做。
我真的需要它。我需要一个添加按钮和一个编辑按钮。
编辑以重新排序和删除表格行。 添加以添加新行。
我无法使用底部工具栏,因为我有一个标签栏。
有人可以帮帮我吗?
答案 0 :(得分:3)
这样的事情应该有用(替换你自己的图像和动作方法):
#define ACTIONEDIT 0
#define ACTIONADD 1
...
UISegmentedControl* segmentedControl = [[UISegmentedControl alloc]
initWithItems: [NSArray arrayWithObjects:
[UIImage imageNamed:@"icon-edit.png"],
[UIImage imageNamed:@"icon-add.png"],
nil]
];
[segmentedControl addTarget:self
action:@selector(segmentAction:)
forControlEvents:UIControlEventValueChanged];
segmentedControl.frame = CGRectMake(0, 0, 90, 30);
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
[segmentedControl setEnabled:YES forSegmentAtIndex:ACTIONEDIT];
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc]
initWithCustomView:segmentedControl];
...
- (void)segmentAction:(id)sender
{
UISegmentedControl* segCtl = sender;
int action = [segCtl selectedSegmentIndex];
switch (action) {
case ACTIONADD:
[self addToList];
break;
case ACTIONEDIT:
[self editList];
break;
}
}
答案 1 :(得分:0)
使用默认导航栏,您只能有三个按钮,除非我遗漏了某些内容。一个在左边,一个在中间,一个在右边。即使您创建一个较小的按钮并认为您有足够的空间,所以触摸将全部注册到相同的按钮(无论哪个链接到右侧或左侧)。如果你想获得像google的navbars这样的功能,我建议你自己实现它。它真的不会那么困难,你会得到你想要的功能。如果你决定这样做,我相信你可以引导你完成困难的部分。
答案 2 :(得分:0)
我想知道如果你为UINavigationItem使用自定义视图会发生什么:
myViewController.navigationItem.titleView = myCustomView;
我想如果你没有按钮那么titleView可能会一直扩展到右边。如果没有右键,我会注意到标题文本会占用更多空间。
然后,您可以为该自定义视图添加标签(用于标题)和两个按钮。