我在设置self.navigationItem.titleView
时遇到了麻烦,有人可以帮我解决我的错误。
import Foundation
class CustomNavigationController: UINavigationController
{
override func viewDidLoad() {
let logo = UIImage(named: "browse_back")
var hexColor = 0x21BBD4 as UInt
self.navigationBar.barTintColor = GeneralHelper.UIColorFromRGB(hexColor)
self.navigationItem.titleView = UIImageView(image: logo)
}
}
这是我将titleView设置为图像的代码。
当我运行应用程序时,导航栏的颜色将更改为正确的颜色,但titleView图像不会显示。
感谢。
答案 0 :(得分:5)
管理
UINavigationController
对象使用导航项 填充导航栏的最顶层的两个视图控制器 内容。
来源:UINavigationItem Class Reference
您必须设置控制器titleView
的{{1}},该控制器是自定义导航控制器管理的导航堆栈中最顶层的控制器。
答案 1 :(得分:5)
对于那些使用UILabel作为titleView的人
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
navigationItem.titleView?.sizeToFit()
}
希望这有效!