1

コンテナー ビュー コントローラーを使用して、3 秒後に現在のビュー コントローラーにサブビューを追加しています。

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = [UIColor greenColor];
    [self performSelector:@selector(open) withObject:nil afterDelay:3.0];
}
-(void)open{
    ViewController2 *test = [[ViewController2 alloc] init];
    test.view.backgroundColor = [UIColor redColor];

    [self addChildViewController:test];
    [self.view addSubview:test.view];
}

ViewController2 は、初期化にこれだけを含む単純なビューです。

self.view.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth;

2 番目のビューを縦向きで開き、横向きに回転すると、画面が赤色で塗りつぶされますが、横向きから 2 つ目のビューを開くと、次のようになります。

ここに画像の説明を入力

手がかりはありますか?

4

2 に答える 2

0

ここにあなたのための解決策があります。

-(void)open{
    test = [self.storyboard instantiateViewControllerWithIdentifier:@"ViewController2"];
    test.view.backgroundColor = [UIColor redColor];
    test.view.frame = self.view.bounds;
    [self addChildViewController:test];
    [self.view addSubview:test.view];
 }

于 2015-05-11T09:42:41.210 に答える