尺寸类的iOS问题 - 大小不正确的视图

时间:2015-02-05 09:19:51

标签: ios layout view size-classes

我正在见面(再次:D)尺码类的问题。

我在UIViewController中有一个视图,它在Any x Any size class中设置了几个约束。

我将宽度约束设置为200px,高度约束设置为200px。

对于Regular x Regular,我想要一个更大的视图,所以我取消选中这些约束,设置新闻约束,宽度为300px,高度为300px。

问题是,当我想在我的代码中获取这些视图的大小时,我的iPad尺寸不正确。 (常规x常规尺寸等级)

我试图让它成为方法:

- (void) viewWillAppear:(BOOL)animated 
- (void) viewDidLayoutSubviews 
- (void) viewWillLayoutSubviews 
- (void) viewDidAppear:(BOOL)animated 

使用日志:

NSLog(@"size %f - %f", self.viewTest.frame.size.height, self.viewTest.frame.size.width);

它只在函数viewDidAppear中我有正确的大小(所以300px * 300px。)

问题是,如果用户“旋转”iPad,则不再调用此方法.....

所以我不明白,为什么我没有成功在其他方法中检索正确的大小? (在我的所有代码中,我对此视图没有什么特别的,目前,我只想获得此视图的大小。)

1 个答案:

答案 0 :(得分:0)

您可以覆盖控制器中的viewWillTransitionToSize方法,并在更改方向时执行您想要执行的操作。

夫特:

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
    //code
}

的OBJ-C:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator {
    //code
}