TabBarController とまったく同じように現在のコンテキストを保持することで、2 つの 3 つのビュー コントローラーを切り替える必要がありました。ただし、TabBarController テンプレートは使用しません。
アタッシェのスクリーンショットを参照してください。
?
同じ作業をしている場合はUIView
、次のようなことができます
ファイルにaUISegmentedControl
と threeUIViews
を取り.h
ます。
各ビューを組み込み、changeView
アクションでコントロールをセグメントIB
化 UIControlEventsValueChanged
- (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
と、 のようになりますtapbar
。animation
ビューの遷移効果を追加することもできます。
異なる でうまく動作する可能性がありますが、各コントローラーUIViewControllers
に追加UISegmentControl
して維持する必要があります。UIDesign
また、維持する必要がありますcurrentIndex
。
VCでは、3を定義し、メソッドUIViewController
でそれらを初期化する必要があります。-(id)init
次に、ボタンを押すと、対応するViewControllerのみがに接続されself.view
ます。
1 つの「マスター」View Controller を使用して、ビューの下部にコントロールを配置できます。次に、ボタンが押されると、3つのView Controllerが「表示」および「破棄」されます(表示されているセグメント化されたコントロールであることを願っています)。これは、UIViewController の標準機能を使用するだけでうまく機能するはずです。
編集: 移行に対処するには、さまざまなアイデアを試して、最適なものを見つける必要があります。いくつかのアイデア:
別のタブがタップされたときに、表示されているビューを閉じて、新しいビューをアニメーションなしで表示します。これは、tabBarController が行うことを模倣する必要があります
UIViewController クラスの説明の「コンテナ ビュー コントローラの実装」というタイトルの段落を読んでください。コンテナ ビューが viewController A から viewController B への遷移を引き起こすさまざまな方法を示しています。
コードでは、3 つの UIViewController を定義する必要があり、いずれかのビューを押したときに残りの 2 つのビューの隠しプロパティを設定できます。次に、他のボタンを押すと、非表示のプロパティを表示し、前のビューの非表示のプロパティを設定できます。