iOS大小类,卸载的视图和插座

时间:2016-02-07 22:53:51

标签: ios class size

我有一个UILabel的出口。标签是“安装”为任意宽度和任何高度,但“卸载”为紧凑宽度和任何高度。

当我使用iPhone 5模拟器(紧凑宽度,任何高度)运行此项目时,我仍然可以看到有效的插座。为什么是这样?不应该是零还是什么?我也认为它有效但只是隐藏(我看不到插座,但是隐藏是假的)。会发生什么事?

我错过了什么?

提前致谢!

1 个答案:

答案 0 :(得分:1)

来自Apple's Size Classes Design Help

  

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

如果您查看已卸载run的{​​{1}}属性,则会看到它是superView

如果出口本身为零,如果您尝试访问它,则可能会出现问题;您的代码必须显式检查活动大小类并调整其行为。通过仍然创建对象但不将其添加到视图层次结构中,您的代码仍然可以在标签上操作,只是这些操作不会产生任何明显效果。