我試圖在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