2016-07-22 82 views
4

我有一个自定义的UINavigationController,可以从我的故事板访问,我想通过创建自定义导航栏来自定义导航栏的高度。以下是我迄今为止:在自定义UINavigationController类中创建UINavigationBar时出错

var navBar = UINavigationBar(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main().bounds.width, height: 70.0)) 
navBar.barTintColor = UIColor(red: 155.0/255.0, green: 155.0/255.0, blue: 155.0/255.0, alpha: 1.0) 
super.init(navigationBarClass: navBar, toolbarClass: nil) 

在最后一行我得到这个错误

Cannot convert value of type 'UINavigationBar' to expected argument type 'AnyClass?' 

任何人都知道为什么吗?它可能是一个错误。 我正在使用Xcode 8 beta和Swift 3

回答

3

super.init(navigationBarClass:需要一个类(AnyClass)作为参数。 您有一个对象navBar这是UINavigationBar类的对象(不是类),并且您试图将对象设置为类参数。接下来使用正确正在初始化:

super.init(navigationBarClass: UINavigationBar.self, toolbarClass: nil) 

对于杆高度,你可以尝试使用这样的:https://stackoverflow.com/a/20440989/2739795

+0

谢谢你,就像一个魅力的工作! –

相关问题