スーパービューのナビゲーションコントローラを使用します
-
23-09-2019 - |
質問
私はカスタムボタンを追加したカスタムビューを作りました。このカスタムビューは、サブビューにまだ私はナビゲーションコントローラにプッシュすることを別のビュー(iphone用カルカレンダー)となります。今私のカスタムビューのボタンは私がから現在のビューをポップするself.navigationControllerに要請することはできませんよここでIBActionに接続されます。
私はスーパーの呼び出しの階層の[[差出人スーパー] navigationController]を試してみたが、それはそのように動作しないか。
任意のアイデアは?喜ば
おかげ
解決
これは通常望ましくない不要でビューおよびビュー・コントローラとの間の密結合を導入するため、
はビューは、典型的には、そのビューコントローラの知識を持たない(したがって、そのまたはそのスーパーのビューコントローラのナビゲーションコントローラ)。
の代わりにビューのビューコントローラを持っているボタンのアクションを処理することですあなたの問題を解決する最も簡単な方法。それはあなたのデザインのための作業をしない場合は、カスタムビューのデリゲートプロトコルの設計を検討し、カスタムビューのデリゲートコントローラビューを作ります。ビューには、ボタンのアクションメソッドにデリゲートメソッドを呼び出します。この後者の方法は、ココア、例えば全体で多く使用されていますUIScrollView
(UIScrollViewDelegate
)とUITableView
(UITableViewDelegate
)による。
所属していません StackOverflow