7

次の問題があります。

私のアプリケーションでは、他の画面に移動する方法が 2 つあります。ボタンまたはタブ バーです。

すべての画面には、他の画面を呼び出すタブ バーがありますが、ホーム画面はボタンがありますが、タブ バーはありません。

アプリの開発を開始するときに、タブ バー アプリケーション テンプレートを選択します。タブを押して画面を呼び出すと、問題なく動作します。問題は、ホーム画面で作業するときに始まります。

  • この特定の画面でタブ バーを「非表示」にする必要があります。
  • ホーム画面で、ボタンで新しい画面を呼び出すと、新しい画面でタブバーが消えます (画面はタブバーではなくボタンで呼び出されるため、意味があります)。

これを解決するには、カスタム タブ バーを作成し (方法はまだわかりません)、UIControl のように画面上で呼び出すことができると思います。そのようにして、タブ バーを変更する必要がある場合、変更はそのコントロールを呼び出すすべての画面で使用できます。

おすすめは何ですか?カスタム タブ バーを作成し、UIControl のように使用するのは良い考えですか? はいの場合、どうすれば作成できますか?

これを使用してウィンドウを呼び出します

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];
listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
[self presentModalViewController:listViewController animated:YES]; 
[listViewController release];
4

2 に答える 2

1

あなたの問題は、他のビューを「モーダル」として提示していることです。コードを次のように置き換えます。

RecurringGiftListViewController *listViewController = [[RecurringGiftListViewController alloc] initWithNibName:@"RecurringGiftListViewController" bundle:nil];            
//listViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self.navigationController pushViewController:listViewController animated:YES]; 
[listViewController release];

これが役立つことを願っています

于 2012-06-23T06:06:52.420 に答える
1

タブバーを使うべきではないように思えます。ボタンの 1 つを押しても、タブバーが消えてはなりません。アプリのメイン メニューのようなものと考えてください。画面全体を占有するナビゲーション コントローラーやモーダル ダイアログなど、他の画面を使用することもできますが、終了するとタブバーに戻ることができるはずです。

ユーザー インターフェイスの構造をもう一度考えてみてください。おそらく、「ホーム画面」をタブバーページの1つから到達可能なダイアログにするために再配置できますか?

于 2012-06-22T18:45:44.220 に答える