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

Gol*_*umb 4 ios8

UITraitEnvironment的文件说:

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

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

我的代码看起来像:

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

    println("______________________________")
}
Run Code Online (Sandbox Code Playgroud)

我错过了什么吗?或者我错误地理解了API文档?thx用于揭示它.

小智 16

你在iPad上测试过吗?

可能是因为在iPad上,特征集合在纵向和横向上都是垂直和水平的常规.

尝试这种方法它应该工作.

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