0

UIWindow のルート ビューでもある UISplitViewController があります。2 つの UINavigationControllers をマスター ビュー コントローラーと詳細ビュー コントローラーとしてそれぞれ設定します。UITableViewController は、masterviewcontroller 内にある UINavigationController のルート ビューです。UITableViewController からアイテムを選択すると、詳細ビ​​ュー コントローラーが正しく応答します。ただし、MasterViewController の UINavigationController から別の UITableViewController をプッシュすると、詳細ビ​​ュー コントローラーが応答しなくなります。

[[splitviewcontroller.viewcontrollers lastObject] topViewController] を使用して、その詳細ビュー コントローラーを取得します。UINavigation コントローラー内の最初のビュー コントローラーで動作しますが、self.navigationcontroler pushViewController を使用して新しいビュー コントローラーをプッシュし、この新しいビュー コントローラーで [[splitviewcontroller.viewcontrollers lastObject] topViewController] を使用します。どういうわけか、この splitviewcontroller の詳細ビュー コントローラーを取得できません。

専門家が私を助けてくれますか?前もって感謝します。

4

2 に答える 2

0

非常に複雑なヒエラルキーを持っているようです。私の提案は、UI 構造をマッピングし、支援のためにストーリーボードを参照することです。View ControllerのparentViewControllerプロパティを使用して、目的のView Controllerへの参照を取得できます。さらに、viewControllers プロパティは、レシーバーが管理するビュー コントローラーの配列を返すので、階層構造がどのようなものかを確認できます。お役に立てれば!

于 2013-03-27T23:34:47.173 に答える
0

[[splitviewcontroller.viewcontrollers lastObject] topViewController]を使用する代わりに[[splitviewcontroller.viewcontrollers lastObject] visibleViewController]。お役に立てれば!

于 2013-03-27T23:25:36.933 に答える