Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.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
Ios UINavigationController在键盘出现时隐藏栏崩溃应用程序(SWIFT)_Ios_Swift_Uinavigationcontroller_Navigationbar - Fatal编程技术网

Ios UINavigationController在键盘出现时隐藏栏崩溃应用程序(SWIFT)

Ios UINavigationController在键盘出现时隐藏栏崩溃应用程序(SWIFT),ios,swift,uinavigationcontroller,navigationbar,Ios,Swift,Uinavigationcontroller,Navigationbar,我正在使用几个故事板向用户展示我的观点。故事板都使用嵌入必要视图的UINavigationController打开 要为用户选择相应的情节提要,我在AppDelegate中运行一些逻辑,然后加载情节提要 AppDelegate func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { let

我正在使用几个故事板向用户展示我的观点。故事板都使用嵌入必要视图的UINavigationController打开

要为用户选择相应的情节提要,我在AppDelegate中运行一些逻辑,然后加载情节提要

AppDelegate

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

    let storyboard:UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
    let navigationController:UINavigationController = storyboard.instantiateInitialViewController() as UINavigationController
    let rootViewController:UIViewController = storyboard.instantiateViewControllerWithIdentifier("Initial") as UIViewController
    navigationController.viewControllers = [rootViewController]
    self.window?.rootViewController = navigationController
}
一切顺利。但是,如果我勾选了UINavigationController在使用UITextField显示键盘时应隐藏该条的选项,则应用程序崩溃。但是,只有在iOS 8中。iOS 7运行平稳

显示键盘时隐藏导航栏

这是我得到的错误:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[OS_dispatch_queue _hideForKeyboardAppearance]: unrecognized selector sent to instance 0x15d67540'
libc++abi.dylib:以NSException类型的未捕获异常终止

我猜,由于我加载故事板的方式,代表团不知怎么搞得一团糟。如果我通过手动隐藏导航栏

@IBAction func editTextFieldStart(sender: AnyObject) {
    self.navigationController?.navigationBarHidden = true
}

一切顺利。我只是好奇为什么它不以另一种方式工作。

它应该以另一种方式工作。苹果在其文档中表示,该属性仅适用于iOS 8.0及更高版本。

Ashraf:我刚刚重新测试过。在iPhone4上运行正常,iPhone5在iOS8上崩溃。非常奇怪。你能再检查一下那些iOS版本吗?你看到的错误确实指向了@Ashraf所指出的。当然。Iphone4在7.1.2上运行。另一款设备,iPhone5运行在8.1.3上。该代码在iPhone5上崩溃。我可以建立一个小的测试项目,它缩小到我的问题,并上传它。