在自定义 UINavigationController 类中创建 UINavigationBar 时出错
Posted
技术标签:
【中文标题】在自定义 UINavigationController 类中创建 UINavigationBar 时出错【英文标题】:Error creating a UINavigationBar in custom UINavigationController class 【发布时间】:2016-07-22 14:27:15 【问题描述】:我有一个自定义 UINavigationController,我可以从我的故事板访问它,我想通过创建自定义导航栏来自定义导航栏的高度。这是我目前所拥有的:
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?'
有人知道为什么吗?会不会是bug。 我正在使用 Xcode 8 beta 和 Swift 3
【问题讨论】:
【参考方案1】:super.init(navigationBarClass:
需要一个类 (AnyClass
) 作为参数。
您有一个对象navBar
,它是UINavigationBar
类的对象(不是类),并且您正在尝试将对象设置为类参数。使用 next 进行正确初始化:
super.init(navigationBarClass: UINavigationBar.self, toolbarClass: nil)
对于条形高度,您可以尝试使用以下内容:https://***.com/a/20440989/2739795
【讨论】:
以上是关于在自定义 UINavigationController 类中创建 UINavigationBar 时出错的主要内容,如果未能解决你的问题,请参考以下文章
织梦CMS如何在自定义表单页调用arclist标签啊,怎么在自定义表单页调用无效!