4

我有一个非常简单的场景,它不适合我。我有一个带有两个视图控制器的故事板:

ViewController1
- ViewA
- ViewB

ViewController2
- ViewC

ViewController1正在按预期工作,当我旋转设备时,视图会根据我定义的自动布局正确调整。

ViewController2有一个自由格式尺寸(768x722),我取消选中“从笔尖调整视图大小”选项。

这是我的ViewController1 didLoad

- (void)viewDidLoad
{
    [super viewDidLoad];

    UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil];

    UIViewController *vc2 = [story instantiateViewControllerWithIdentifier:@"vc2"];

    [self addChildViewController:vc2];
    [vc2 didMoveToParentViewController:self];
    [self.viewA addSubview:vc2.view];
}

- (void) didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation当我从ViewControlled2它调用的方法中旋转设备时,它会显示正确的方向。但是,ViewC不会自行调整大小,也不会遵循我的自动布局设置。

有谁知道我该如何解决?我只想添加我的ViewController2内部ViewA并保持自动布局适用于ViewController2. 我只需要 iOS 7 的解决方案,因此不需要与早期版本兼容。

任何人都可以帮助我吗?

4

1 回答 1

7

我找到了解决方案,我会在这里注册,以防有人需要。

我创建了一个 UIViewController 属性来保存我的 ViewController2。之后,我添加了以下方法:

- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    self.vc2.view.frame = self.viewA.bounds;
}
于 2013-10-24T18:40:03.863 回答