添加UINavigationBar时的Swift约束错误

时间:2018-01-18 14:30:16

标签: swift xcode nslayoutconstraint

我正在尝试向我的应用添加自定义导航栏,但无论何时加载,我都会收到“无法同时满足约束”错误。我似乎无法以编程方式删除任何约束 - 我绝对没有添加任何约束。

控制台输出:

"<NSLayoutConstraint:0x600000092750 UILabel:0x7ffc40507d20'Configure'.firstBaseline == UILayoutGuide:0x6000007b18e0'TitleView(0x7ffc40503120)'.top + 23   (active)>",
"<NSLayoutConstraint:0x600000092840 UILabel:0x7ffc40507d20'Configure'.top >= UILayoutGuide:0x6000007b18e0'TitleView(0x7ffc40503120)'.top   (active)>"

App Delegate:

self.window = UIWindow(frame: UIScreen.main.bounds)
let nav1 = UINavigationController(navigationBarClass: CustomNavBar.self, toolbarClass: nil)
let mainView = TableViewController()
nav1.viewControllers = [mainView]
self.window!.rootViewController = nav1
self.window!.makeKeyAndVisible()

CustomNavBar类:

self.frame.size.height = 60
self.backgroundColor = appColour
self.tintColor = UIColor.white
self.titleTextAttributes = [
            NSForegroundColorAttributeName : UIColor.white,
            NSFontAttributeName : UIFont(name: "Avenir-Heavy", size: 30)!
]
self.setTitleVerticalPositionAdjustment(-5, for: .default)

的ViewController:

navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .play, target: self, action: #selector(start))
navigationItem.rightBarButtonItem!.imageInsets = UIEdgeInsets(top: -7, left: 0, bottom: 0, right: 0)
navigationItem.leftBarButtonItem = UIBarButtonItem(image: UIImage(named: "Folder")!, style: .plain, target: self, action: #selector(viewSaved))
navigationItem.leftBarButtonItem!.imageInsets = UIEdgeInsets(top: -7, left: 0, bottom: 0, right: 0)
self.title = "Configure"

我无法弄清楚该怎么做。

提前致谢!

1 个答案:

答案 0 :(得分:1)

问题在于CustomNavBar类中的字体大小,请减小字体大小,直到没有出现约束错误为止。

(:TITLE "Roses" :ARTIST "Kathy Mattea" :RATING 7 :RIPPED T)