[英]UISplitViewControlerDelegate XCode 6 + IOS7
我有這個應用程序,它內部使用UISplitViewControler
來顯示主界面。 我的問題是,在IOS7上,我看不到左側的按鈕可以打開主面板。
理論上說,我必須設置代表,然后按鈕就會出現。 實際上-IOS7中未調用我的代表。 它在IOS8上執行。
第一次嘗試:
(在應用程序委托中的某個位置):
UIStoryboard *board = [UIStoryboard storyboardWithName:@"Storyboard" bundle:nil];
UIViewController *newController = [board instantiateViewControllerWithIdentifier:@"LoginViewController2"];
self.window.rootViewController = newController;
母版中的代碼
override func akaweFromNib() {
super.awakeFromNib()
if let splitViewController = self.splitViewController {
let navigationController = splitViewController.viewControllers[splitViewController.viewControllers.count-1] as UINavigationController
if (splitViewController.respondsToSelector(Selector("displayModeButtonItem"))) {
navigationController.topViewController.navigationItem.leftBarButtonItem = splitViewController.displayModeButtonItem()
}
splitViewController.delegate = self
}
}
這可行,但是我必須打開抽屜並在主視圖中選擇某項(創建新的序號)才能看到該按鈕。
第二次嘗試
由於這不起作用-我創建了一個新的UISplitViewController,並將情節提要上的拆分視圖控制器設置為此新類。 將onWakeFromNib移動到這個新類(並像以前一樣設置委托)。 新代碼可在IOS8上運行,但是在IOS7(至少在IPad Emulator上)下,新類不用於拆分視圖控制器-我不會在新代碼中遇到斷點。
我究竟做錯了什么?
編輯:
在這里復制代碼時,我忘了提到我正在做的事情:
navigationItem.leftItemsSupplementBackButton = true
navigationItem.leftBarButtonItem = splitViewController?.displayModeButtonItem()
但是-這僅在IOS8中可用。 我可以在IOS7中做什么?
2015-02-12 10:37:55.987 OlympiaTracking[92551:607] -[UISplitViewController displayModeButtonItem]: unrecognized selector sent to instance 0x7b67f1c0
編輯2:我也跟着ios7沒有displayModeButtonItem或targetDisplayModeForActionInSplitViewController的工作,但僅在第一次segue之后。 首次顯示控制器時,該按鈕不可見。
打開此鏈接,然后移至iPad部分。 它說的地方
請注意,首次打開iPad應用程序時,根本沒有跡象表明這是一個拆分視圖控制器! 要觸發主視圖控制器,用戶必須神奇地知道從左向右滑動。
即使導航控制器已安裝到位,UI乍一看也沒有改善(盡管看到標題絕對是一個改進):
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.