友達、
異なるヘッダーから 4 ~ 5 つのビューを切り替える必要があります
4 つのビューがあります。設定例 接続 オープン トレード クローズ トレード
これらは、クリックする 4 つのページ間を移動するヘッダーです
たとえば、他のすべてのビューと同様にクリックすると設定ビューに切り替えたいのですが、それらのボタンはすべてのビューにある必要があります
しかし、これらのボタンは1 つのビューだけで必要です。選択している間、他のビューに切り替える必要があります
友達、
異なるヘッダーから 4 ~ 5 つのビューを切り替える必要があります
4 つのビューがあります。設定例 接続 オープン トレード クローズ トレード
これらは、クリックする 4 つのページ間を移動するヘッダーです
たとえば、他のすべてのビューと同様にクリックすると設定ビューに切り替えたいのですが、それらのボタンはすべてのビューにある必要があります
しかし、これらのボタンは1 つのビューだけで必要です。選択している間、他のビューに切り替える必要があります
コンテンツの 4 つのビューがどれほど要求が厳しいかに応じて、セグメント化されたコントロール用に 1 つのメイン ビューを作成し、メイン ビューに 4 つのコンテナー ビューを設定することをお勧めします。そのうちの 3 つは非表示にする必要があり、4 つのビューを切り替えることができます (表示/非表示)。
これは、ビューのコードが非常に「ソフト」であるか、4 ~ 5 個のビューを同時に実行すると非常に遅くなる場合にのみ有効なソリューションです。4 つのハードコア ビューの場合は、代わりに標準のナビゲーション タブ バー コントロールを使用することをお勧めします。
//////// 例 ////////
セットアップは、背景用の 1 つの UIViewController で行われます。このビューに、1 つの UISegmentedControl + 4 つのコンテナー ビューを配置します。4 つのコンテナー ビューを重ねて配置する必要があります。コンテナ ビューのうち 3 つが非表示になっているため、1 つだけが表示されます。
BackgroundViewController.h:
#import <UIKit/UIKit.h>
@interface BackgroundViewController : UIViewController {
    IBOutlet UISegmentedControl *segmentedControl;
    UIView actualView;
}
@property (nonatomic, weak) IBOutlet UIView *containerOne;
@property (nonatomic, weak) IBOutlet UIView *containerTwo;
@property (nonatomic, weak) IBOutlet UIView *containerThree;
@property (nonatomic, weak) IBOutlet UIView *containerFour;
@end
セグメント化されたコントロールの IBAction の例を次に示します。
- (void) viewDidLoad {
    actualView = self.containerOne;
    UIView *fromView = nil;
    UIView *toView = nil;
    self.containerOne.hidden = NO;
    self.containerTwo.hidden = YES;
    self.containerThree.hidden = YES;
    self.containerFour.hidden = YES;
}
- (IBAction)segmentSwitchClick {
    NSInteger selectedSegment = segmentedControl.selectedSegmentIndex;
    UIView *fromView = actualView;
    UIView *toView = nil;
    switch (selectedSegment) {
        case 0: {
            toView = [self containerOne];
            break;
        } 
        case 1: {
            toView = [self containerTwo];
            break;
        }  
        case 2: {
            toView = [self containerThree];
            break;
        }  
        case 3: {
            toView = [self containerFour];
            break;
        }  
        default:
            break;
        }
    }
    [UIView transitionFromView:fromView toView:toView duration:1.9 options:UIViewAnimationOptionShowHideTransitionViews |  UIViewAnimationOptionCurveLinear
                completion:^(BOOL finished) {
                    if (finished) {
                        actualView = toView;
                    }
                }];
}
PS私は試していませんが、うまくいくはずです。
メイン コンテンツ ビューにセグメント化されたコントロールを追加します。次に、他のビューをセグメント化されたコントロールの下にサブビューとして追加します。(ビューがセグメント化されたコントロールと重ならないように、サブビューのフレームを設定します) 次に、各サブビューに IBOutlet を設定します。セグメント化されたコントロールのアクション メソッドでは、選択されたセグメント化されたコントロールのインデックスに基づいてサブビューを表示および非表示にします。ビューを表示する必要がある場合は、他のサブ ビューを非表示にします。
これは単純明快な解決策です
以下は、viewcontroller のスーパー ビューに 3 つのビューを追加するサンプル コードです (未テスト)。
CGRect frame = CGRectMake(x, y, width, height); // Replacing with your dimensions
UIView *view1 = [[UIView alloc] initWithFrame:frame];
UIView *view2 = [[UIView alloc] initWithFrame:frame];
UIView *view3 = [[UIView alloc] initWithFrame:frame];
Then, you want to actually add it to the superview (assuming the view is self.view)
[self.view addSubview:view1];
[self.view addSubview:view2];
[self.view addSubview:view3];