如何以编程方式向UINavigationBar添加按钮?如何将一个按钮添加到UINavigationBar?
109
A
回答
289
将rightbutton
设置为NavigationBar
的示例代码。
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
UINavigationItem *item = [[UINavigationItem alloc] initWithTitle:@"Title"];
item.rightBarButtonItem = rightButton;
item.hidesBackButton = YES;
[bar pushNavigationItem:item animated:NO];
,但通常你将有一个NavigationController
,让你写:以上
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"Done"
style:UIBarButtonItemStyleDone target:nil action:nil];
self.navigationItem.rightBarButtonItem = rightButton;
20
的回答都不错,但我想割肉出来多带几个小窍门:
如果您想要修改后退按钮的标题(箭头-Y从导航栏的左侧看),您必须在前一个视图控制器中执行此操作,而不是它将显示的视图控制器。这就好像在说:“嘿,如果你把另一个视图控制器放在这个视图控制器的顶部,就把后面的按钮叫做”Back“(或其他),而不是默认的。”
如果要在特殊状态期间隐藏后退按钮(例如显示UIPickerView时),请使用self.navigationItem.hidesBackButton = YES;
并记住在离开特殊状态时将其设回。
如果你想显示特殊符号按钮中的一个,使用形式initWithBarButtonSystemItem:target:action
与像UIBarButtonSystemItemAdd
值记住,符号的意义是你的,但要小心的人机界面指南。使用UIBarButtonSystemItemAdd来表示删除一个项目可能会让你的应用程序被拒绝。
11
将自定义按钮添加到导航栏(使用buttonItem的图像并指定操作方法(void)openView {}和)。
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(0, 0, 32, 32);
[button setImage:[UIImage imageNamed:@"settings_b.png"] forState:UIControlStateNormal];
[button addTarget:self action:@selector(openView) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *barButton=[[UIBarButtonItem alloc] init];
[barButton setCustomView:button];
self.navigationItem.rightBarButtonItem=barButton;
[button release];
[barButton release];
7
下面的示例将在右侧的导航栏上显示一个标题为“联系人”的按钮。它的动作从视图控制器调用名为“contact”的方法。没有这条线,右边的按钮是不可见的。
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Contact"
style:UIBarButtonItemStylePlain target:self action:@selector(contact:)];;
2
为什么不使用下列内容: (从Draw custom Back button on iPhone Navigation Bar)
// Add left
UINavigationItem *previousItem = [[UINavigationItem alloc] initWithTitle:@"Back title"];
UINavigationItem *currentItem = [[UINavigationItem alloc] initWithTitle:@"Main Title"];
[self.navigationController.navigationBar setItems:[NSArray arrayWithObjects:previousItem, currentItem, nil] animated:YES];
// set the delegate to self
[self.navigationController.navigationBar setDelegate:self];
3
在斯威夫特2,你会怎么做:
let rightButton: UIBarButtonItem = UIBarButtonItem(title: "Done", style: UIBarButtonItemStyle.Done, target: nil, action: nil)
self.navigationItem.rightBarButtonItem = rightButton
0
SWIFT 3
let cancelBarButton = UIBarButtonItem(title: "Cancel", style: .done, target: self, action: #selector(cancelPressed(_:)))
cancelBarButton.setTitleTextAttributes([NSFontAttributeName : UIFont.cancelBarButtonFont(),
NSForegroundColorAttributeName : UIColor.white], for: .normal)
self.navigationItem.leftBarButtonItem = cancelBarButton
func cancelPressed(_ sender: UIBarButtonItem) {
self.dismiss(animated: true, completion: nil)
}
相关问题
- 1. 如何按钮添加到UINavigationBar的
- 2. 如何添加一个带有'+'的方形按钮到uinavigationbar?
- 3. 如何以编程方式将后退按钮添加到UINavigationBar?
- 4. 如何自定义按钮添加到UINavigationBar的(一拉四方)
- 5. 如何将多个UIBarButtonItem添加到UINavigationBar?
- 6. 如何添加一个按钮到CGridView?
- 7. 如何添加一个按钮到wx.MenuBar()?
- 8. 如何添加后退按钮到自定义的UINavigationBar
- 9. 如何手动添加'后退'按钮到UINavigationBar?
- 10. 如何将一个按钮添加到tableview的最后一行?
- 11. 如何添加一个“添加”按钮到这个代码?
- 12. 在UINavigationbar中添加完成按钮
- 13. 如何将自定义图像按钮添加到iPhone中的UINavigationBar sdk
- 14. 如何将iOS7风格的“正在播放”按钮添加到UINavigationBar中?
- 15. 将函数添加到按钮阵列中的一个按钮
- 16. 添加一个NSTimer到一个按钮
- 17. 在UINavigationBar左侧的“后退”按钮旁边添加另一个按钮
- 18. 如何将文本添加到按钮?
- 19. 如何将动作添加到按钮?
- 20. 如何将按钮添加到QLPreviewController中
- 21. 如何将按钮添加到settings.bundle?
- 22. 如何将按钮添加到DevExpress RibbonControl?
- 23. 如何将按钮添加到textfield iphone?
- 24. 如何将按钮添加到GoogleMap上
- 25. 如何将按钮添加到JxTable?
- 26. 如何将边框添加到按钮?
- 27. 如何将`accessibilityLabel`添加到`UIAlertView`按钮?
- 28. 如何将按钮添加到JFace ErrorDialog
- 29. 如何将图像添加到按钮?
- 30. 如何将segue添加到rowAction按钮?
我得到的样式警告:参数 - >警告:语义问题:从枚举类型“UIBarButtonSystemItem”隐式转换到不同的枚举类型“UIBarButtonItemStyle” – pojo 2011-10-12 20:19:37
这应该是initWithBarButtonSystemItem:UIBarButtonSystemItemDone避免了警告。 – JordanC 2011-12-26 09:55:31
在这个例子中,我不明白“酒吧”来自哪里。什么是UINavigationItem的默认顶栏属性? – aneuryzm 2012-06-26 13:57:55