2016-08-15 4 views
2

私はSVCのマスターをプログラムで表示しようとしています。UISplitViewController Masterをプログラムで表示するには?

アプリは普遍的です。私は詳細については、マスターと別のTVCにTVCを持っています。詳細-TVC上のセルは、ユーザによって削除することができる。ユーザーがiPhone上のdetail-TVCの最後のセルを削除した後(コンパクト)、マスターが表示されます。 iPadの(通常の)上のマスタ-TVC上の次の既存のセルを選択して示されている(正常に動作します!)

私は手動でdisplayModeButtonItemのアクションを実行しようとしましたが、何も起こりません:

extension UISplitViewController { 
    func toggleMasterView() { 
     let barButtonItem = self.displayModeButtonItem() 
     UIApplication.sharedApplication().sendAction(barButtonItem.action, to: barButtonItem.target, from: nil, forEvent: nil) 
    } 
} 

テストのためにdetail-TVCのナビゲーションバーに「表示」ボタンが追加され、上記の機能が実行されました。

@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) { 

    self.navigationController!.splitViewController?.toggleMasterView() 

} 

絵コンテ: Storyboard は、事前にありがとうございます。魔法のように

+0

作品:http://stackoverflow.com/questions/27540268/ios8-uisplitviewcontroller-how-to-switch-to-master-view-in-compact-width-window?rq=1上記の方法はなぜ機能しないのですか? – Mario

答えて

1
@IBAction func do_ShowMaster(sender: BaseUIBarButtonItem) { 

    self.splitViewController?.preferredDisplayMode = UISplitViewControllerDisplayMode.allVisible 

} 
関連する問題