7

私はiPhone開発の初心者です。最初にUIViewControllerを持ち、ボタンが付いたアプリを作成したいと思います。ボタンをクリックすると、UINavigationコントローラーが読み込まれます。これが私がどのように近づいているかです:

  1. UIViewControllerクラスを作成しました。

    -(IBAction) PressMeFunc:(id) sender
    

    ボタンを押すため。

  2. 次に、UIViewxibファイルを作成しました。IBで必要な手順を実行しました。

  3. 次に、AppDelegateで、ViewControllerのインスタンスをウィンドウのサブビューとして追加しました。

これまではOKです。

次に、ボタンを押すだけでナビゲーションコントローラーをロードするにはどうすればよいですか?

ウィンドウベースのアプリからnavigationControllerプロジェクトを構築する方法は知っていますが、UIViewのサブビューとしてNavigationControllerを実行するのに苦労しています。

あなたの助けは大歓迎です。

4

2 に答える 2

8

NavigationController は、使用時に画面を引き継ぐように設計されているため、元の ViewController から NavigationController への遷移を管理する方法を決定する必要があります。これを行うには、presentModalViewController を使用するか、元のビューを削除して NavigationController をプログラムで交換します。

これは、NavigationController をプログラムで設定するためのApple のドキュメントです。

コードは次のようになります (Apple のドキュメントから)。

GroupsController *groupsController = [[[GroupsController alloc] initWithNibName:nil bundle:nil] autorelease];
UINavigationController *navigationController =
[[UINavigationController alloc] initWithRootViewController:groupsController];

ここで、NavigationController を作成し、最初のビューコントローラーを追加したら、それに移行する必要があります。CATransitions または

[myViewController presentModalViewController: navigationController];
于 2009-05-01T16:55:03.637 に答える
5

UIViewControllerの(ナビゲーションを含む)ビューを、別のViewControllerによって管理されているビューにサブビューとして追加しないでください。

関連する読み物は次のとおりです:http: //blog.carbonfive.com/2011/03/09/abusing-uiviewcontrollers/

あなたの場合、あなたができることは、ウィンドウからビューコントローラのビューを削除してから、ナビゲーションコントローラのビューをウィンドウに追加することです。

[viewController.view removeFromSuperview];
[window addSubview:navigationController.view];

ここで提案したように、モーダルビューコントローラーとして追加することもできます。または、最初のビューコントローラーをナビゲーションコントローラーにして、そのナビゲーションコントローラーのスタックに2番目のナビゲーションコントローラーをプッシュすることもできます。

[navigationController pushViewController:secondNavigation animated:NO];

編集:私が09の質問に答えていることに気づきました

編集#2:これはiOS 5とは無関係かもしれませんし、彼らが追加したUIViewControllerの包含物はまだそれをチェックする機会がありませんでしたが、この答えを読んでいるなら、あなたはしたいかもしれません。

于 2011-07-04T13:12:25.047 に答える