【问题标题】:Change UImageView size using Autolayout使用自动布局更改 ImageView 大小
【发布时间】:2017-10-18 07:56:50
【问题描述】:

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

【问题讨论】:

    标签: ios iphone autolayout xcode8


    【解决方案1】:

    问题是内容无法适应给定的高度。

    让我解释一下。 假设小型设备的高度为 480。UIImageView height(intrinsic) 为 200。您有 4 个高度为 80 的 UIButtonUILabel 的高度为 100。所以总和为 620。

    高度为 620 的视图无法适应(所有可见但不剪裁)高度为 480 的视图。

    你需要。

    1. Scrollview(显示比可用宽度和/或高度更多的内容)
    2. 减小内容的大小以适应 480。为此,您可以固定任何/部分/全部的高度,使此高度总和小于或等于 480。

    【讨论】:

    • 谢谢。我用scrollview试了一下,效果很好。我只是认为图像视图的大小会减小,以便它适合小屏幕设备。
    【解决方案2】:

    这是因为 iPhone 4 的屏幕尺寸是 480。你的 UI 似乎高于 480。所以只有根据屏幕高度调整了约束。

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

    为按钮添加高度和边距约束,只为图像视图添加边距约束。它会根据屏幕大小调整大小。

    希望对你有帮助。

    【讨论】:

    • 如果我为按钮 1 设置了上边距约束,它会使图像视图在 iphone 4 设备中消失。
    猜你喜欢
    • 2013-10-25
    • 2013-04-30
    • 1970-01-01
    • 2012-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 2018-06-10
    相关资源
    最近更新 更多