想象一下以下场景。你有一个 UIImageView 和一个 UIButton。第一个是 300x360,第二个是 210x70。imageview
包含一个目录图像,上面button
写着“打开目录”。
我想根据这些要求在主视图中定位元素:
两个元素应水平居中,即center.x坐标应全部相等(视图、图像和按钮);
这两个元素应该以下列方式垂直居中:分隔符(灵活)-图像视图-分隔符(固定,比如说 30 分)-按钮-分隔符(灵活)。最顶部和最底部的分隔符应该具有相同的大小(这就是居中的意思)。
我无法使用 NSLayoutConstraint 使其工作。
到目前为止,我所做的一直是使用NSLayoutAttributeCenterX
和将两个元素的 X 坐标居中NSLayoutRelationEqual
到相同的view
属性。
根据我的想法,最后一部分是修复它们的垂直对齐。我尝试使用@"V:|-[imageview(360)]-[button(70)]-|"
但它不起作用(Unable to simultaneously satisfy constraints.
)。
如果我使用@"V:|-[imageview(360)]-[button]-|"
,我会得到部分好的。也就是说,顶部是完美的,但按钮被拉伸以填充内部分隔符和视图底部之间的间隙。
如何使这些元素固定大小并让自动布局弄清楚如何将它们放置在视图中?