4

Xcode でストーリーボードを使用して最初の iPhone アプリを作成中ですが、行き詰まっています。私のメイン画面には、ホーム画面である MemberViewController というビュー コントローラーがあります。この画面には、mainContent と呼ばれるビュー コントローラーよりも小さい UIView があります。

基本的に、UIView内にさまざまなView Controller(すべてUIViewと同じサイズ)をロードできるようにしたいと考えています。

MemberViewController (ホームページ) -mainContent (UIView)

GetStartedViewController (UIView 内に表示したい別のビュー コントローラー) ProfileViewController (UIView 内に表示したい別のビュー コントローラー)

たとえば、GetStartedViewController に、押すと ProfileViewController に切り替えるボタンが必要です。ビュー コントローラは、mainContent UIView 内で互いに置き換えられる必要があります。

よろしくお願いいたします。これを行う簡単な方法があれば、私に知らせてください。

4

1 に答える 1

4

私は実際にこのテクニックをよく使います。ルートの私の典型的な設定UIViewController(あなたはそれを呼んでいますmemberController)はUITabBar、下部にがあり、次にそのバーの上の残りのスペースを含む別のUIView(あなたはそれを呼んでいます)ビューを持っています。mainContent

memberController常に画面に表示されたままになります。の中にmainContent、を追加UINavigationControllerし、最初のコンテンツを運ぶで初期化しますGetStartedViewController。タブバーのタブを切り替えたい場合は、これに適切なメッセージを送信するUINavigationControllerと、ビューが内部で変更されます。

ヒント:あなたUINavigationControllerが呼ばれていると言ってくださいnavController-メッセージを送信することでナビゲーションバー(上部の青いバー)を取り除くことができます[navController setNavigationBarHidden:TRUE];

編集:あなたが要求したコードは次のようになります。これにより、メソッドのウィンドウのビューにnavコントローラーが追加されますapplicationDidFinishLaunchingWithOptions。ウィンドウの代わりに、のビューコントローラでこれと同じことを実行しますviewDidLoad

windownavControllerは両方のプロパティです

    self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];
self.navController = [[UINavigationController alloc] initWithRootViewController:[YourViewController new]];
[self.navController setNavigationBarHidden:YES];
[self.window addSubview:self.navController.view];
[self.window makeKeyAndVisible];

お役に立てれば!

于 2012-07-19T03:45:20.627 に答える