3

我在我的项目中使用尺寸等级。

我有一个按钮,仅显示

  • 紧凑的宽度和紧凑的高度
  • 紧凑的宽度和常规的高度

其他尺码等级不显示此按钮。

在这个按钮上,我应用了一个特定的效果。但我只需要对我的 2 个尺码课程应用此效果。

就像是 :

if button is available for the current size classe
    apply the effect

是否可以实施?

4

2 回答 2

5

为了跟进我现在已删除的先前答案和后续评论,Apple 的文档指出

仍会创建已卸载视图的运行时对象。但是,视图和任何相关约束都不会添加到视图层次结构中,并且视图的超级视图属性为 nil。这与隐藏不同。隐藏视图与任何相关约束一样位于视图层次结构中。

换句话说,唯一知道的方法是检查出口视图的父视图是否为nil.

于 2015-01-15T15:06:07.277 回答
4

在 ViewWillApper() 期间检查您的视图控制器的 traitCollection。

myViewController: UIViewController{

    mybutton = UIButton(frame: myframe)

    func viewWillAppear(){

        if traitCollection.horizontalSizeClass == .Compact {
            applyAwesomeEffect(myButton)
        }
    }
}
于 2015-01-15T15:16:49.080 回答