【发布时间】:2018-01-16 07:28:18
【问题描述】:
我正在尝试创建自定义 titleView 并将位置更改为后退按钮旁边。
titleView 应该是这样的:
所以我做的是:
private func setupNavigationItems() {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "Info"
label.textColor = UIColor.black
label.textAlignment = .left
navigationItem.titleView = label
if let navigationBar = navigationController?.navigationBar {
label.widthAnchor.constraint(equalTo: navigationBar.widthAnchor, constant: -40).isActive = true
}
self.navigationController?.navigationBar.tintColor = UIColor.black
}
override func updateViewConstraints() {
super.updateViewConstraints()
setupNavigationItems()
}
它有效,但在某些情况下我会崩溃:
*** 由于未捕获的异常“NSGenericException”而终止应用程序, 原因:'无法使用锚激活约束 和 因为他们没有共同点 祖先。约束或其锚点是否引用了 不同的视图层次结构?这是非法的。'
我该如何解决这个崩溃?有更好的方法来改变导航标题的位置吗?
谢谢
【问题讨论】:
标签: ios swift uinavigationbar