1

私はiPhone 6 PlusUISplitViewControllerで を使用しています。ポートレート モードでユーザーがマスター ビュー コントローラーに戻ったとき (つまり、分割ビューがナビゲーション コントローラーのように機能するとき) に通知を受け取りたいと考えています。

さらにUISplitViewDelegate、ユーザーが詳細ビュー コントローラーをプッシュしたときに (コールバックを介して) 既に通知されているのと同じ方法で通知を受け取りたいです。splitViewController:showDetailViewController:sender:

それを行う最も簡単な(そして最もクリーンな)方法を知っていますか?

前もって感謝します。

4

3 に答える 3

0

実行しようとしている iOS のバージョンによって異なります。

iOS 8.0~8.2 の場合、プロジェクトは iOS 7 と互換性がなく、iOS 8 以降でのみ動作します。最良の方法は、WWDC 2014 で提示されたサイズ クラス (特性コレクション) を使用することです。この方法に関するビデオ、セッション 214 がありました。 iOS 8" のコントローラの機能強化を表示

簡単に説明すると、プロパティが追加されました。このプロパティは、詳細ビューが折りたたまれているかどうかを示します。(セッション 214、分 12:30 ->)

@property (getter=isCollapsed) BOOL が折りたたまれました。ちょっとした KVO マジックと、詳細ビ​​ューが利用可能になったときのコールバックを持つことができます。

古い iOS 7 の方法では、デバイスの現在の向きを検出し、詳細の現在の状態を取得できます。

あなたが持っているいくつかのメソッド(回転コールバック):

willRotateToInterfaceOrientation:duration:

didRotateFromInterfaceOrientation:

インターフェイス方向

!!! Session 214(43:20)に基づいて、これらのメソッドは非推奨であるため、iOS 8 以降で使用することはお勧めしません!!!

この 2 つの方法が最適で簡単かどうかはわかりませんが、期待どおりに適切に機能します。また、WWDC ビデオを見るためのアドバイスもほとんどなく、非常に役に立ちます。

于 2015-03-11T10:23:06.433 に答える
0

が戻ってきたときに通知を受けるには、たとえばMasterViewControllerデリゲートを作成して に設定する必要があります。DetailViewControllerperformSegueWithIdentifier

その場合、マスターに戻ると、デリゲートは解雇されます。

于 2015-05-27T09:42:28.330 に答える