如何向 UINavigationBar 添加按钮?
如何以编程方式向 UINavigationBar 添加按钮?
How to add a button to UINavigationBar programmatically?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何以编程方式向 UINavigationBar 添加按钮?
How to add a button to UINavigationBar programmatically?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
在
NavigationBar
上设置rightbutton
的示例代码。但通常您会有一个
NavigationController
,使您能够编写:Sample code to set the
rightbutton
on aNavigationBar
.But normally you would have a
NavigationController
, enabling you to write:上面的答案很好,但我想用更多提示来充实它们:
如果您想修改后退按钮的标题(导航栏左侧的箭头 y ),您必须这样做它位于上一个视图控制器中,而不是它将显示的视图控制器中。这就像说“嘿,如果您将另一个视图控制器推到这个视图控制器之上,请调用后退按钮“后退”(或其他)而不是默认按钮。”
如果您想在特殊状态下隐藏后退按钮,例如显示 UIPickerView 时,请使用 self.navigationItem.hidesBackButton = YES; 并记住在离开特殊状态时将其设置回来。
如果要显示特殊符号按钮之一,请使用
initWithBarButtonSystemItem:target:action
形式以及类似于UIBarButtonSystemItemAdd
的值。记住,该符号的含义取决于您,但请注意人机界面指南。使用 UIBarButtonSystemItemAdd 意味着删除一个项目可能会导致您的应用程序被拒绝。
The answers above are good, but I'd like to flesh them out with a few more tips:
If you want to modify the title of the back button (the arrow-y looking one at the left of the navigation bar) you MUST do it in the PREVIOUS view controller, not the one for which it will display. It's like saying "hey, if you ever push another view controller on top of this one, call the back button "Back" (or whatever) instead of the default."
If you want to hide the back button during a special state, such as while a UIPickerView is displayed, use
self.navigationItem.hidesBackButton = YES;
and remember to set it back when you leave the special state.If you want to display one of the special symbolic buttons, use the form
initWithBarButtonSystemItem:target:action
with a value likeUIBarButtonSystemItemAdd
Remember, the meaning of that symbol is up to you, but be careful of the Human Interface Guidelines. Using UIBarButtonSystemItemAdd to mean deleting an item will probably get your application rejected.
将自定义按钮添加到导航栏(使用按钮项目的图像并指定操作方法 (void)openView{} 和)。
Adding custom button to navigation bar ( with image for buttonItem and specifying action method (void)openView{} and).
下面的示例将在右侧导航栏上显示一个标题为“Contact”的按钮。它的操作从视图控制器调用名为“contact”的方法。如果没有这条线,右侧按钮将不可见。
The example below will display a button with a title "Contact" on the navigation bar on the right. Its action calls a method named "contact" from the viewcontroller. Without this line the right button is not visible.
在 Swift 2 中,你会这样做:(
不是重大变化)在 Swift 4/5 中,它将是:
In Swift 2, you would do:
(Not a major change) In Swift 4/5, it will be:
为什么不使用以下内容:
(摘自在 iPhone 导航栏上绘制自定义后退按钮)
Why not use the following:
(from Draw custom Back button on iPhone Navigation Bar)
迅捷3
swift 3