Ios7 在UINavigationController中设置自定义导航栏类
我有一个自定义导航栏:Ios7 在UINavigationController中设置自定义导航栏类,ios7,swift,ios8,xcode6-beta7,Ios7,Swift,Ios8,Xcode6 Beta7,我有一个自定义导航栏: class Name_UINavigationBar: UINavigationBar { // code } 我想以编程方式将其设置为导航控制器。所以我试着: var navController : UINavigationController = UINavigationController( navigationBarClass: object_getClass(Name_UINavigationBar),
class Name_UINavigationBar: UINavigationBar {
// code
}
我想以编程方式将其设置为导航控制器。所以我试着:
var navController : UINavigationController = UINavigationController(
navigationBarClass: object_getClass(Name_UINavigationBar),
toolbarClass: nil)
// code
但它说:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'MyProject.Name_UINavigationBar is not a subclass of UINavigationBar'
在Swift中,不支持获取对象类的方法。您的问题几乎肯定与
object\u getClass
方法有关,我认为从Beta 5开始不再支持该方法
我想像这样的API很快就会被更新、重写或者干脆弃用。现在,您需要在Objective-C中执行此操作。试试这个
let navController = UINavigationController(navigationBarClass: YourNavigationBar.self, toolbarClass: nil)
我遇到了同样的错误,并且能够让它再次像那样工作。我使用的是xcode 6 beta 7,它没有说明任何关于object_getClass的内容。但你说的似乎是一个很好的解释。