旋转时未调用的UIView子类的重写traitCollectionDidChange()方法

时间:2014-11-27 17:18:34

标签: ios8

UITraitEnvironment的文件说:

  

当前特征集合时会自动调用此方法   变化。覆盖此方法为您提供了一种自定义方法   与视图关联的特征集合发生更改时的行为。   如果不重写此方法,则不会执行任何特殊操作。

但是当我旋转模拟器时,我的UIView子类中的这个重写方法不会被调用。

我的代码如下:

override func traitCollectionDidChange(previousTraitCollection: UITraitCollection?) { 
    super.traitCollectionDidChange(previousTraitCollection)

    println("______________________________")
}

我错过了什么吗?或者我错误地理解了API文档?这是为了揭开它。

1 个答案:

答案 0 :(得分:16)

您是否在iPad上测试过?

可能是因为在iPad上,纵向和横向都是纵向和横向的特征。

尝试这种方法应该可行。

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator