5

私はしばらくこれに苦労してきましたが、解決策を見つけることができませんでした:

すべてのデバイス ファミリをサポートし、サイズ クラスを使用し、Swift 2.0 でプログラムされた iOS 9 アプリを入手しました。を使用してUISplitViewControllerおり、折りたたまれた環境 (iPhone など) を除いて、すべてが思いどおりに機能します。

Master-ViewController はUITableViewController、セルが選択されたときに置換セグエをトリガーする です。折りたたまれた環境では、これは、detailViewcontroller が画面にプッシュされることを意味します。はUISplitViewController視覚的に のように動作しUINavigationControllerます。ただし、戻るボタンまたはスワイプ ジェスチャで detailViewController を閉じると、Master-ViewController で新しい置換セグエがトリガーされるまで割り当てが解除されません。

UISplitViewController元々は両方のコンテンツを並べて表示するように設計されていたので、これは の機能のようなものだと思います。それにもかかわらず、折りたたまれた環境では、ポップされたときに以前にプッシュされた detailviewController の割り当てを解除UISplitViewControllerする単純な のように動作することを望みます。UINavigationController

viewControllersdetailViewController がポップされた後、splitViewController の属性を手動で変更しようとしています。

 if let firstVc = self.splitViewController?.viewControllers.first {
        self.splitViewController?.viewControllers = [firstVc]
 }

しかし、それは役に立ちません。detailViewController を空の「ダミー」-ViewController に置き換えるだけでは、遷移が自動的にアニメーション化されるため、どちらも機能しません。で遊んでUISplitViewControllerDelegateも役に立ちませんでした...

これに対する解決策はありますか (たぶん簡単ですか? :))、私は盲目すぎて見ることができませんか?

4

0 に答える 0