如果我没听错的话,...
让自己熟悉子视图层次背后的逻辑和兄弟的绘制顺序。在您的界面构建器/故事板中,您可以按如下方式对齐视图:
UIView (the default view that is connected to the view controller's view property)
\--UIView (This is a background to group UI Items as buttons or Lables
\-- UILabel
\-- UIButton
\--UIView (the next background)
\-- UILabel
\-- UIButton
当谈到坐标时,你会注意到每个视图的坐标都是相对于它的子视图的。因此 UILabel 和 UIButton 可能具有相同的坐标,但它们中的每一个都将位于其子视图中。
另一种选择是:
UIView (the default view that is connected to the view controller's view property)
\--UIView (Background)
\--UIButton
\--UILable
\--UIView (Background)
\--UIButton
\--UILable
甚至
UIView (the default view that is connected to the view controller's view property)
\--UIView (Background)
\--UIView (Background)
\--UIButton
\--UILable
\--UIButton
\--UILable
在这种情况下,所有 UI 元素共享相同的坐标空间。在这种情况下,您需要注意正确的布局。
这个是行不通的: UIView(连接到视图控制器的视图属性的默认视图)--UIButton --UILable --UIButton --UILable --UIView(背景) --UIView(背景)即使所有坐标等与上面的示例相同,两个背景视图会隐藏其他 UI 元素,因为它们是在其他元素之后绘制的。最后一个赢得空间。