3

私は4つの異なるタブを配置し、最初のタブをクリックして最初のタブをクリックした後に別のビューをロードするたびに、1つのiOSタブバーアプリケーションを作成しています。その後、戻るボタンを押すとタブバーが表示されません。そのため、あるタブから別のタブに移動するときにタブバーを表示する方法と、アプリケーション全体で一貫したタブバーを使用する方法についてのヒントが必要です。みんな私を助けてくれます。私はiOS開発が初めてです。

ここにスクリーンショットを入れます...最初の画面はこれです..ここに画像の説明を入力

最初にビューにあるビデオボタンをタップすると、別のウィンドウが開き、タブバーが表示されません... ここに画像の説明を入力

ビデオコントローラーにタブバーがありますが、そこにドラッグして接続すると、タブバーが無効になりますここに画像の説明を入力

4

1 に答える 1

1

画面のスナップショットを見ると、「ホーム」シーンの中央にある大きな「ビデオ」ボタンをタッチして (下部のタブ バー ボタンをタッチするのではなく)、「ビデオ」シーンに移行しようとしていると思いますか?画面の、私は正常に動作すると思います)?その場合は、ビュー コントローラーのタブ バー コントローラーに、タブ バーのインデックスを変更することをボタンに伝える必要があります。セグエを使用して移行を行うことはできません (または、少なくともカスタム セグエなしでは実行できません。これは、以下で概説する手順よりもさらに複雑です)。他の方法でビューを変更している場合 (たとえば、標準のセグエを使用するかpresentViewControllerpushViewControllerプログラムで使用するなど)、タブ バーが表示されなくなることがあります。

あなたは後にこう言いました。

ビデオコントローラーにタブバーがありますが、そこにドラッグして接続すると、タブバーが無効になります

はい、本当です。大きなボタンの 1 つからタブ バーのタブの 1 つにセグエを使用することはできません。(または、技術的には、セグエを使用したい場合は、以下のコードと非常によく似たカスタム セグエになりますが、おそらくもう少し複雑です。) したがって、大きなボタンにセグエを使用するのではなく、タブバーにその選択を変更するように指示するIBAction(シーンの大きなVideosボタンに接続された)を記述する必要があります。Home

- (IBAction)clickedVideosButton:(id)sender
{
    [self.tabBarController setSelectedIndex:1];
}

いくつかのコメント:

  1. 私の答えは、タブバー自体のボタンをタップすると、タブバーが期待どおりに機能するという前提に基づいていました。画面の下部にあるボタンをタップすると、他のビューに正しく遷移し、タブ バーが保持されますか? もしそうなら、上記の私の答えは、大きなボタンを機能させる際の問題を解決するはずです。ただし、そうでない場合は、問題は別の場所にあり、それを説明する可能性のあるコードを示す必要があります (UITabBarControllerDelegateメソッドで非標準であるかviewDidLoad、ビューで非標準のことを行っているかのいずれかです)。

  2. 私があなたのユーザー インターフェイスのデザインを正しく理解していれば、下部にタブ バーがあり、中央に大きなボタンがあり、おそらく同じことを行います。つまり、問題はありませんが、奇抜なユーザー インターフェイス デザイン (重複するボタン、ボタンを余分にタップする必要があるなど) です。大きなボタンを使用するか (たとえば、タブ バーを廃止し、IBAction上記で提供したコードを削除し、シンプルなナビゲーション コントローラーを使用してセグエをプッシュするだけです)、または単にタブバー (ホーム画面をなくしたり、大きなボタンをなくしたりなど)。

  3. 「戻るボタンを押す」についても言及しましたが、どの画面スナップショットにも「戻る」ボタンは表示されません。あなたがナビゲーション コントローラーを持っていて、pushViewControllerどこかでセグエを実行していると思いますか? 戻るボタンで何かをしている場合は、質問をさらに明確にする必要があるかもしれません。

于 2012-09-18T17:52:43.683 に答える