什么时候正确设置尺寸类?

时间:2017-02-24 19:51:06

标签: ios size-classes uitraitcollection

我正在尝试在单元测试中测试一些大小类特定的特性,但是遇到了awakeFromNib中未正确设置大小类的问题。当我运行应用程序时,通过在屏幕上显示所有内容后在LLDB中检查它来正确设置它,但我似乎永远不会触发在进行单元测试时设置的大小类。

有没有人知道何时设置特征集合/如何触发它?

编辑:为了清楚起见,这些是仅测试视图的单元测试,而不是它所在的ViewController。所以我从它的nib加载视图,然后对它进行测试。

我试过调用layoutSubviews()希望会触发某种大小类设置,但它没有用。当我在traitCollectionDidChange中放置断点时,堆栈跟踪中只有main,所以我不确定实际触发它的是什么。

1 个答案:

答案 0 :(得分:1)

我明白了。关键是视图需要成为窗口的一部分才能更新它的大小类,因此以下代码可以解决这种情况:

let window = UIWindow()

// "view" is the view you want the size class updated one
window.addSubview(view)