1

非常にシンプルなナビゲーション ベースのアプリ (UIViewController) を作成しました。ビューには、メイン RootViewController に 1 つのボタンがあります。

次に、TabOneViewController、TabTwoViewController の 2 つのクラスを作成しました。すべて良い。次に、新しい Class TabBarViewController を作成しました。NIB ファイルを開き、その上に UITabBarController をドロップしました。デフォルトで作成される2つのタブは、(それぞれ)TabOneおよびTabTwoビューコントローラーに割り当てられました。strong text 次に、TabBarViewController で、UITabBarController の IBOutlet を作成し、合成などを行いました。「ファイル所有者」を介して Interface builder にリンクしました。

RootViewController で、ボタンを「pushView」メソッドにリンクしました。この pushView メソッドには、次のコードがあります。

- (IBAction) pushView {
    TabBarViewController *controller = [[TabBarViewController alloc] init];
    [self.navigationController pushViewController:controller animated:YES];
    [controller release];
}

最終結果は、ビューをプッシュしますが、コントローラーに追加したページは言うまでもなく、下部にタブバーが表示されません。

私は何を間違っていますか?IB でリンクできないのはなぜですか?

4

2 に答える 2

0

それが許可されているかどうかは 100% わかりません..既に 1 つの tabBarController を rootViewController として持っており、最初のタブ コントローラーとしてもう 1 つの tabBarController をドロップしたため、iPhone にある不動産の量を考慮すると、タブがオーバーラップします。別の内部の tabViewController を許可しない

于 2012-04-11T18:30:33.677 に答える
0

まず、ビュー コントローラーを nib に割り当てる必要があります。

TabBarViewController *controller = [[TabBarViewController alloc] initWithNibName:@"YourNibName" bundle:nil];

次に、IB で UITabBarController をクリックし、ID インスペクタに移動して、カスタム クラスが選択されていることを確認します。とはいえ、カスタム クラスをまったく必要としない機能をオーバーライドまたは追加する場合を除き、UITabBarController を直接使用するだけです。

UITabBarController *controller = [[UITabBarController alloc] initWithNibName:@"YourNibName" bundle:nil];
于 2012-04-11T18:30:51.307 に答える