使用自动布局更改 UImageView 大小

Change UImageView size using Autolayout

我在开头有一个 imageview,下面有一系列垂直放置的按钮。因此,在设计屏幕时,我将所有视图放在视图控制器中并添加到垂直堆栈中。水平和垂直居中堆栈视图。对于所有按钮,我都设置了相等的宽度。在堆栈视图中,我给出了相等的间距。在所有 iPhone 中,它都可以正常工作,ui 个元素以等间距正确排列,但 iPhone4 除外。在 iPhone 4 中,它们相互接触。请查收附件。我在这里缺少什么约束?

因为iPhone4的屏幕尺寸是480,你的UI好像比480高,所以只根据屏幕高度调整了constraints。

只需为所有按钮添加高度限制,如果添加,则移除图像视图的高度限制。

为按钮添加高度和边距限制,并为图像视图仅添加边距限制。它将根据屏幕尺寸调整大小。

希望对您有所帮助。

问题是内容不能适合给定的高度。

让我解释一下。 假设小型设备的高度为 480。UIImageView height(intrinsic) 为 200。您有 4 个 UIButton 的高度为 80。UILabel 的高度为 100。因此总计为 620 .

高度为 620 的视图无法在高度为 480 的视图中显示(全部可见,无需剪裁)。

你需要。

  1. 滚动视图(显示比可用宽度 and/or 高度更多的内容)
  2. 缩小您的内容以适合 480。为此 您可以固定 any/some/all 的高度 以使此高度总和小于或等于480.