Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios7 在UINavigationController中设置自定义导航栏类_Ios7_Swift_Ios8_Xcode6 Beta7 - Fatal编程技术网

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的内容。但你说的似乎是一个很好的解释。