2011-09-10 6 views
0

は、私は現在、以下のようなnibファイルをロードするコードがあります。UITabBarControllerをロードするには?

Login *monLogin = [[[Login alloc] init] autorelease]; [self presentModalViewController:monLogin animated:YES];

をしかし、アプリがTabBarのアプリケーション(Xcodeのテンプレート)であり、また、一番下のメニューをロードすることとしています。 UITabBarControllerをインクルードしてこのNIBファイルをロードするにはどうすればよいですか?

答えて

1

あなたの他の回答はquestionかもしれません。しかし、今私は少しあなたがしようとしていることについて混乱している。私に知らせてください、そして私はあなたをさらに助けることができます。

モーダルビューにはTabBarが含まれません。これは、TabBarが各タブで表されるビューコントローラを所有しているためです。なぜあなたはログインビューに含まれているTabBarをしますか?モーダルビューでTabBarが本当に必要な場合は、TabBarビューコントローラ内に 'ログイン'ビューコントローラを配置し、TabBarビューコントローラをモーダルで表示する必要があります。

しかし、私はあなたのアプリのメイン部分にTabBarを持って、TabBarを含まずにモーダルに 'ログイン'ビューを提示することをお勧めしたいと思います。ユーザーのログインが完了すると、ユーザーをアプリの主要部分に戻す「ログイン」ビューを閉じることができます。

モーダルビューコントローラを無効にするには、デリゲートシステムをセットアップします(ユーティリティアプリケーションテンプレートを見て、これがどのように機能するかを確認してください)。現時点で独自の代理プロトコルを設定することが難しい場合は、その間に回避策を使用することができます。 'ログイン'ビューのコントローラコードでは、ユーザーが正常にログインした後、親ビューコントローラ(モーダルビューを提示したもの)にモーダルビュー(「ログイン」ビュー)を閉じるメッセージを送信できます。 。

[self.parentViewController dismissModalViewControllerAnimated:YES]; 

これは悪い形です。それまではデリゲートコールバックを使用して、親ビューコントローラにモーダルビューを解除させる必要があります。

+0

回答ありがとう、これは実際には完全にうまくいった:)今、より正確に何が良い方法であるかについてもう少し詳しく教えてもらえますか?またはデリゲートコールバックを使用して親ビューコントローラにモーダルビューを閉じるように記事またはチュートリアルにリンクできますか? ありがとうございました – ahoura

+0

iOS用のView Controllerプログラミングガイド - モーダルビューコントローラセクションを参照してください。モーダルビューコントローラに関する委任について述べています。独自の委任プロトコルを作成するための基本的なガイドがあります:http://iphonedevelopertips.com/objective-c/the-basics-of-protocols-and-delegates.htmlおよびhttp://www.cocoanetics.com/2009/ 07/your-own-delegation-protocol/ – MattyG

+0

ありがとうございました。本当に助けになりました。もう一度あなたの助けが必要なら、ここにコメントを投稿します。 – ahoura

関連する問題