【问题标题】:iOS trouble with size class - incorrect size viewiOS 尺寸等级问题 - 尺寸视图不正确
【发布时间】:2015-04-05 02:03:27
【问题描述】:

我遇到了(再次:D)尺寸等级的问题。

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

我将宽度限制设置为 200 像素,将高度限制设置为 200 像素。

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

问题是,当我想在代码中获取这些视图的大小时,我没有适合 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,这个方法就不会再次被调用.....

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

【问题讨论】:

    标签: ios layout view size-classes


    【解决方案1】:

    您可以直接覆盖控制器中的viewWillTransitionToSize 方法,然后在更改方向时做任何您想做的事情。

    斯威夫特:

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

    对象-C:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-26
      • 2015-02-11
      • 2014-09-20
      • 1970-01-01
      • 2017-07-15
      • 1970-01-01
      • 2016-11-17
      相关资源
      最近更新 更多