我正在查看其他一些能够在leftBarButtonItem和rightBartonItem中为UINavigationController添加额外图标的iPad应用程序。以下是来自nngroup.com的图片:
为了做这样的事情,他们是否继承UINavigationController或为其添加类别?或者他们在做些不同的事情?我只是想要如何做这样的事情的一般方法,但不需要所有的代码,因为我确信这是很多工作。感谢。
答案 0 :(得分:0)
您可以创建工具栏对象并将按钮添加到该工具栏,然后将右侧栏按钮项或左侧栏按钮项的自定义视图设置为此工具栏。
示例实现是这样的。
UIToolbar * toolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0,0,160, 44.5)];
UIBarButtonItem *spacer = [[UIBarButtonItem alloc]
initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
target:nil
action:nil];
[buttons addObject:spacer];
[spacer release];
UIBarButtonItem * deleteButton = [[UIBarButtonItem alloc]
initWithTitle:@"Delete"
style:UIBarButtonItemStyleBordered
target:self
action:@selector(deletePressed)];
// Button style is the default style
[buttons addObject:deleteButton];
[deleteButton release];
UIBarButtonItem * barItem = [[UIBarButtonItem alloc] initWithTitle:@"Logout" style:UIBarButtonItemStyleBordered
target:[Y3AppDelegate mainApplicationInstance] action:@selector(logout)];
[buttons addObject:barItem];
[barItem release];
// put the buttons in the toolbar and release them
[toolbar setItems:buttons animated:YES];
[buttons release];
// place the toolbar into the navigation bar as Right Button item
self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]
initWithCustomView:toolbar] autorelease];
[toolbar release];
这里需要注意的一点是,您可能需要更改工具栏的色调颜色以匹配导航栏的色调。希望这个答案可以帮助你。
答案 1 :(得分:0)
您可以隐藏导航栏,而不是显示导航栏的图像,然后在其上放置按钮:))