我在我的项目中使用尺寸等级。
我有一个按钮,仅显示
- 紧凑的宽度和紧凑的高度
- 紧凑的宽度和常规的高度
其他尺码等级不显示此按钮。
在这个按钮上,我应用了一个特定的效果。但我只需要对我的 2 个尺码课程应用此效果。
就像是 :
if button is available for the current size classe
apply the effect
是否可以实施?
我在我的项目中使用尺寸等级。
我有一个按钮,仅显示
其他尺码等级不显示此按钮。
在这个按钮上,我应用了一个特定的效果。但我只需要对我的 2 个尺码课程应用此效果。
就像是 :
if button is available for the current size classe
apply the effect
是否可以实施?
为了跟进我现在已删除的先前答案和后续评论,Apple 的文档指出
仍会创建已卸载视图的运行时对象。但是,视图和任何相关约束都不会添加到视图层次结构中,并且视图的超级视图属性为 nil。这与隐藏不同。隐藏视图与任何相关约束一样位于视图层次结构中。
换句话说,唯一知道的方法是检查出口视图的父视图是否为nil
.
在 ViewWillApper() 期间检查您的视图控制器的 traitCollection。
myViewController: UIViewController{
mybutton = UIButton(frame: myframe)
func viewWillAppear(){
if traitCollection.horizontalSizeClass == .Compact {
applyAwesomeEffect(myButton)
}
}
}