UIViewからUIViewControllerを見る | 初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログ

初心者がiPhoneアプリを作るブログです.
入門レベルですので開発初心者にも,できるだけ分かるように丁寧に説明していきます(多分).

iPhoneアプリを作っていると,一度は考えるところだとは思います.

UIView上のButtonを押した時に,ModalViewNavigationできない...

viewControllerからはviewプロパティでviewにはアクセスできますが,
その逆はできませんもんね.

さて,この問題をどう解決するか!!!!

最近思うのが,viewからviewControllerにアクセスしなければいけないような設計は,
いい設計ではないということです.
管理している側を管理されている側からアクセスしている訳ですから.
やはり,delegate等を上手に使うべきだと思います.
※delegateの説明はこちら

それを無視して提案します!!笑

・viewにviewControllerプロパティを作成しておき,viewの初期化時に設定する
・UIWindowを取得し,地道にviewControllerまで辿る
・staticな変数にviewControllerに保持しておき,そこからアクセスする

このくらいでしょうか.
1つ目のviewControllerプロパティを利用は簡単ですね.

2つ目のUIWindowにアクセスする方法について軽く説明します.
といいますか,コードを載せます笑
UIApplication *app = [UIApplication sharedApplication];
UIWindow *window = app.keyWindow;

これでUIWindowにアクセスできるので,あとは頑張って下さいね笑

3つ目については,また別の機会でご説明しようと思います.

HOMEに戻る