我正在构建我的自定义UIControl,一个构建为IBDesignable的自定义按钮,需要根据显示它的大小类进行更改。我有一个方法-setupForTraitCollection,如下所示:
func setupForTraitCollection() {
switch(traitCollection.horizontalSizeClass, traitCollection.verticalSizeClass) {
case (.Regular, _):
// iPad - not compressed design
compressed = false
default:
// iPhone - compressed design
compressed = true
}
}
此代码在编译时效果很好,但在实时渲染中,以及在调试视图时,它永远不会出现在" iPad"开关盒。我开始放弃这里,只是接受traitCollections在实时渲染中不可用,但我想确认这一点。更好的是,如果有人能指出我找到解决方案的方向。
所以关键问题是 - 我可以在IBDesignable中使用traitCollections吗?若然,怎么做?
我真的希望能够在IB中更改尺寸等级并在我的自定义控件上查看结果。
答案 0 :(得分:2)
当我们在Xcode中渲染时,Interface Builder尚未为可设计视图设置特征集合。我们用雷达跟踪这个:// 17278773。在http://bugreport.apple.com提交报告并提及该错误ID将有助于我们跟踪需求并确定适当的优先级。