Cocoa touch 实时渲染中的IBDesignables和traitCollection

Cocoa touch 实时渲染中的IBDesignables和traitCollection,cocoa-touch,swift,switch-statement,ibdesignable,uitraitcollection,Cocoa Touch,Swift,Switch Statement,Ibdesignable,Uitraitcollection,我正在构建我的自定义UIControl,一个作为IBDesignable构建的自定义按钮,它需要根据显示它的大小类进行更改。我有一个方法setupForTraitCollection,如下所示: func setupForTraitCollection() { switch(traitCollection.horizontalSizeClass, traitCollection.verticalSizeClass) { case (.Regular, _): // iP

我正在构建我的自定义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尚未为可设计视图设置特征集合。我们正在跟踪这一点radar://17278773. 在提交报告并提及bug ID将有助于我们跟踪需求并适当确定优先级。

您找到解决方案了吗?我遇到了完全相同的问题?或者你有解决办法吗?你能把这个存档吗?我刚让苹果公司说我的报告和你的报告是重复的,但显然我们看不到其他人的雷达。谢谢。对不起,朱尔斯,这是一个苹果内部错误(我是将你的错误标记为重复错误的人),苹果员工通常不会在OpenRadar上发布。:-)但是,请随时在您的bug中发布详细信息(radar://23549463)在那里;如果有人引用了你的bug ID,我们仍然会找到正确的bug来复制它。我不确定还有哪些我没有提到的额外细节会有用?抱歉,让我进一步澄清。如果您想在OpenRadar上发布您在bug中提供的详细信息,以便其他开发人员可以看到,您当然可以。我没有要求任何进一步的细节来帮助苹果工程部,我们已经很好地掌握了这个问题。谢谢,在提交崩溃后,如果崩溃显示在带有“重新打开”按钮的对话框中,对bug进行归档是否有用?