cocoa-touch – 实时渲染中的IBDesignables和traitCollection

我正在构建我的自定义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中更改大小类,并在我的自定义控件上查看结果.

最佳答案 当我们在Xcode中渲染时,Interface Builder尚未为可设计视图设置特征集合.我们用雷达跟踪这个:// 17278773.在
http://bugreport.apple.com提交报告并提及该错误ID将有助于我们跟踪需求并确定适当的优先级.

点赞