ios - 在 NavigationBar 中添加多个按钮

标签 ios swift uinavigationbar

我的应用要求我在导航栏中添加多个按钮。 这是我的导航栏的图片

enter image description here

如何实现这种设计?

最佳答案

您可以配置 View Controller 的 navigationItem以各种方式实现此设计。

左侧

允许在左侧的系统“后退按钮”旁边添加其他按钮:

navigationItem.leftItemsSupplementBackButton = true

这允许您为圆形图像添加左栏按钮项目:

navigationItem.setLeftBarButtonItem(imageItem, animated: trueOrFalse)

imageItem 将是使用 customView 或图像初始化的 UIBarButtonItem,如此处其他一些答案中所述。

对于后退按钮本身,要实现简单的“<”而不显示上一个 View 的标题或显示“<返回”,可以打开 Storyboard并将上一个 View Controller 的后退按钮文本设置为单个空间,如 this post 中所述.

标题区

对于标题区域,如其他答案中所述:

navigationItem.titleView = (a custom view)

右侧

对于右侧,您可以添加多个按钮:

navigationItem.setRightBarButtonItems([button1, button2, button3, button4], animated: trueOrFalse)

这里,button1、button2、button3 和 button4 都是 UIBarButtonItem。你可能会 initialize these buttons with images .

看起来您还想将导航栏的 tintColor 设置为黑色,以便栏按钮呈现为黑色:

navigationController?.navigationBar.tintColor = .black

所有这些代码都将在 View Controller 中完成,通常是在 viewDidLoad 中,除非您需要在 View Controller 的内容发生变化时动态更改显示的按钮。

关于ios - 在 NavigationBar 中添加多个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48507572/

相关文章:

ios - 如何在 View Controller 之间同步索引

ios - 选择不同的选项卡时更改导航栏标题

ios - Swift/iOS - 推送新 View Controller 时保留 UINavigationItem

ios - 与核心数据的多对多关系: how to populate intersection data?

ios - ImageView 点击手势

ios - NSMethodSignature 的 BOOL 编码错误

swift - 过滤到 NSFetchRequest

ios - 导航栏项目未垂直居中

ios - 异常类型 : SIGTRAP for one user

ios - 无聊的 SSL 握手失败和复制 Identity Cred 时出错