2

これは、この素晴らしいコミュニティで初めての投稿です。かなり長い間閲覧してきましたが、完全に気に入っています。

私は数週間 iOS を学んでいますが、構築中のアプリケーションの堅牢で堅固な構造を実現する最善の方法についてまだ苦労しています。「UITabBarController」が目標を達成するための最良の方法であることがわかりましたが、それでもタブバーをなくして、独自の「極端な」カスタム ナビゲーションを作成したかったのです。カスタム ナビゲーションは、ビューを含むUIViewControllerであり、ビューには UIButtons.

したがって、これは私のAppDelegate.mに表示されます:

// ASSIGN CUSTOM NAV & TAB BAR CONTROLLER 
[self.window setRootViewController:tabBarController];
[tabBarController.view addSubview:customNavController.view];

そして、私はAppDelegate.hにこれを持っています:

@property (strong, nonatomic) CustomNavigationViewController* customNavController;
@property (strong, nonatomic) UITabBarController* tabBarController;

これは正しい方法ですか?そのため、いつでも自分にアクセスして、AppDelegate メッセージcustomNavControllerを送信できるようにすることができます。たとえば、プロパティtabBarControllerを設定することもできます。selectedIndex

したがって、主な質問は残ります: UITabBarController(アプリのすべてのセクションを保持している) と(カスタム ナビゲーション) があり、それらが互いに通信UIViewControllerできるようにしたいと考えています。

更新: これは、頭の中でフローをどのように見るかのスキームのスクリーンショットです: https://www.dropbox.com/s/5k49pe2idn6zxcd/ios_customnavigation_scheme.png

トリック/ヒントは大歓迎です!あなたたちが思いついたものに興味があります。よろしくお願いします、Y.

4

1 に答える 1

0

アプリでこれらのコントローラーをどのように使用するつもりなのか、またはそれらが互いに通信する必要がある理由はよくわかりませんが、UITabBarController の各「タブ」に UINavigationControllers を埋め込むことができます。必要に応じて、顧客ビューでタブ バーを非表示にすることもできます (サイトを検索すると、これに関する多くの質問/回答があります)。これらの組み込みコントローラーは、詳細に対処する必要なくビューの変更を処理します。もちろん、独自のロールよりもはるかに簡単です。

まだお持ちでない場合は、MVC に関する Apple のドキュメントを確認してください。設計上の決定を下すのに役立つかもしれません。

幸運を祈ります。

于 2012-12-10T14:05:35.693 に答える