0

私はこのようなタブ付きアプリケーションを手に入れました:

スクリーンショット

見た目どおりにすべてを設定しましたが、まだ機能しません。私はすでに私の問題をグーグルで検索し、最初にテーブルビューをrootViewとして設定し、次にNavigationBarとしてNavigationControllerを設定する必要があると言われましたが、実際には理解できませんでした。あなたの誰かが私を助けてくれることを願っています。

4

3 に答える 3

0

ストーリーボードを使用している場合は、ビューコントローラを選択し、[編集]メニューに移動して、[ナビゲーションコントローラに埋め込む]を選択します。

于 2012-06-19T17:20:43.797 に答える
0

ここでのあなたの質問に対する私のコメントへのあなたの応答に基づいて、あなたがすべきことは次のとおりです。

まず、設定アプリのテーブルのように見せるために、のスタイルをに変更する必要がありUITableViewますUITableViewStyleGrouped

階層は次のもので構成されます。

実際にviewControllers配列に追加されるUITabBarControllerviewcontrollerは(ナビゲーションの最低レベルとしてタブバーがあることがわかります)、である必要がありUINavigationControllerます。ナビゲーションコントローラーのルートviewcontrollerは、テーブルビューを含む作成したuiviewcontrollerサブクラスである必要があります。(それが呼ばれているとしましょうSettingsViewController

SettingsViewController *settingsViewController = [[SettingsViewController alloc] init];

UINavigationController *settingsNavController = [[UINavigationController alloc] initWithRootViewController:settingsViewController];

必要な詳細ペインのタイプごとに、おそらく異なるUIViewControllerサブクラスを作成する必要があります(機能が異なる場合)。

このdidSelectRowAtIndexPath UITableViewDelegate関数では、適切な詳細ビューコントローラーを作成し、ナビゲーションスタックにプッシュします。

例として、ボリューム設定ビューコントローラがあるとします。以下は、先ほど述べた関数に含まれるコードです。また、選択した行のインデックスやセクションを実際にチェックして、どの詳細ビューを表示するかを判断する必要があることに注意してください。

VolumeSettingsViewController *volumeSettings = [[VolumeSettingsViewController alloc] init];

[self.navigationController pushViewController:volumeSettings animated:YES];

デフォルトでは、これはAppleSettingsアプリのナビゲーションとほとんど同じように機能します。ナビゲーションバーには、設定ビューに戻るための「戻る」ボタンが自動的にあります。

于 2012-06-19T20:44:10.763 に答える
0

ストーリーボードを使用しない場合、これがコードで行われると仮定すると、階層の逆の順序で物を作成する必要があります-次のようになります:

  • initWithNibNameを使用して、EinstellungenタブのTableViewControllerのインスタンスを作成します。
  • initWithRootViewController:を使用してUINavigationControllerを作成し、Einstellungenをルートとして設定します
  • UITabBarControllerを作成し、ナビゲーションコントローラーをこのタブバーコントローラーのビューコントローラーの1つとして設定します
  • タブバーコントローラーをサブビューとしてアプリケーションデリゲートのメインウィンドウに追加します

これにより、次の階層が作成されます。

タブバーコントローラー->ビューコントローラー:ナビゲーションコントローラー->ルートビューコントローラー:Einstellungen

于 2012-06-19T21:57:15.603 に答える