【问题标题】:Error creating a UINavigationBar in custom UINavigationController class在自定义 UINavigationController 类中创建 UINavigationBar 时出错
【发布时间】: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

【问题讨论】:

    标签: ios swift uinavigationcontroller uinavigationbar


    【解决方案1】:

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

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

    对于条形高度,您可以尝试使用以下内容:https://stackoverflow.com/a/20440989/2739795

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-24
      • 2017-11-02
      • 2019-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多