我试图在Swift中创建一个MasterDetail应用程序,它在iOS8模拟器上运行良好。然而,当我试图在我的iOS 7.1的iPad,我得到这个错误:从DetailView的Swift导航UISplitViewController
**Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '- [UISplitViewController displayModeButtonItem]: unrecognized selector sent to instance**
这是我AppDelegate.swift文件(Xcode中产生的,我没加任何东西):
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Override point for customization after application launch.
let splitViewController = self.window!.rootViewController as UISplitViewController
let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
splitViewController.delegate = self
let masterNavigationController = splitViewController.viewControllers[0] as UINavigationController
let controller = masterNavigationController.topViewController as MasterViewController
controller.managedObjectContext = self.managedObjectContext
return true
}
的问题来自于这条线在其中创建左键:
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
当我删除这条线,它运行在iOS 7,但仅显示的DetailView。当我从左边缘滑动MasterView不会出现(在iOS 8模拟器上它),基本上没有导航到MasterView
有没有人有同样的问题?
谢谢!
您对此问题有任何进展吗? – erdekhayser 2014-09-27 19:12:35
不,我想你必须在Objective C中编写它以便在早期的IOS版本兼容 – 2014-10-03 18:08:30