-4

TabBarController とまったく同じように現在のコンテキストを保持することで、2 つの 3 つのビュー コントローラーを切り替える必要がありました。ただし、TabBarController テンプレートは使用しません。

アタッシェのスクリーンショットを参照してください。

?ここに画像の説明を入力

4

4 に答える 4

2

同じ作業をしている場合はUIView、次のようなことができます

ファイルにaUISegmentedControlと threeUIViewsを取り.hます。

各ビューを組み込み、changeViewアクションでコントロールをセグメントIBUIControlEventsValueChanged

- (IBAction) changeView
{    
 switch (segmentViews.selectedSegmentIndex) 
 {
    case 0:
        [firstView setHidden:NO];
        [secondView setHidden:YES];
        [thirdView setHidden:YES];
        break;

    case 1:
        [firstView setHidden:YES];  
        [secondView setHidden:NO];
        [thirdView setHidden:YES];
        break;

    case 2:
        [firstView setHidden:YES];
        [secondView setHidden:YES];
        [thirdView setHidden:NO];
        break;
 }
}

変化する変化とともに変化していきますselectedSegmentIndex。適切に与えるbackgrondColorと、 のようになりますtapbaranimationビューの遷移効果を追加することもできます。

異なる でうまく動作する可能性がありますが、各コントローラーUIViewControllersに追加UISegmentControlして維持する必要があります。UIDesignまた、維持する必要がありますcurrentIndex

于 2012-09-05T12:57:48.873 に答える
0

VCでは、3を定義し、メソッドUIViewControllerでそれらを初期化する必要があります。-(id)init次に、ボタンを押すと、対応するViewControllerのみがに接続されself.viewます。

于 2012-09-05T12:46:49.753 に答える
0

1 つの「マスター」View Controller を使用して、ビューの下部にコントロールを配置できます。次に、ボタンが押されると、3つのView Controllerが「表示」および「破棄」されます(表示されているセグメント化されたコントロールであることを願っています)。これは、UIViewController の標準機能を使用するだけでうまく機能するはずです。

編集: 移行に対処するには、さまざまなアイデアを試して、最適なものを見つける必要があります。いくつかのアイデア:

  • 別のタブがタップされたときに、表示されているビューを閉じて、新しいビューをアニメーションなしで表示します。これは、tabBarController が行うことを模倣する必要があります

  • UIViewController クラスの説明の「コンテナ ビュー コントローラの実装」というタイトルの段落を読んでください。コンテナ ビューが viewController A から viewController B への遷移を引き起こすさまざまな方法を示しています。

于 2012-09-05T12:50:52.823 に答える
0

コードでは、3 つの UIViewController を定義する必要があり、いずれかのビューを押したときに残りの 2 つのビューの隠しプロパティを設定できます。次に、他のボタンを押すと、非表示のプロパティを表示し、前のビューの非表示のプロパティを設定できます。

于 2012-09-05T13:01:45.097 に答える