我正在尝试像这样自定义导航栏:
我尝试了很多方法,但我无法做到。 我可以删除后退按钮名称并在其旁边添加图像。
我的问题:
我该怎么做?
答案 0 :(得分:0)
实际上,UINavigationBar仅支持UINavigationItem对象,您可以添加栏的左中间和右侧。 |左项|标题|正确的项目|
但是,诀窍在于在左侧添加多视图并将标题留空
navigationItem.setLeftBarButtonItems([backButton, profileImageView, profileNameView], animated: true)
在此之前,您需要为profileImageView自定义UIBarButtonItem(例如)
let profileImage = UIImageView(...)
使用该自定义视图创建您的UIBarButtonItem
let profileImageView = UIBarButtonItem(customView: profileImage)
重要提示 有时(几乎经常)你需要修复该视图的框架,因为它是自定义的。检查NavigationBar的宽度,然后检查rightItem上有多少rightButtons(在您的情况下)。
使用" NavigationBar - sideLeft(例如后退按钮)&#34的框架设置视图的初始宽度;
CGRectMake(0, 0, self.navigationBar.frame.width - backButton.frame.widht, 25)
|后退按钮宽度|自定义视图宽度|右按钮1宽度| ...右按钮N widht |
| < ----------------------------------------- UINavigationBar width ----- ----------------------------> |