【问题标题】:Using UIImageView together with constraints将 UIImageView 与约束一起使用
【发布时间】:2014-10-24 08:38:40
【问题描述】:

我有一个 UIImageView,它在我的应用中保存了个人资料图片。方面是“方面适合”。但是我有一些问题。

我已将 UIImageView 的约束固定到上面较大的 UImageView 和 superView 的前导空间。

但它在运行时看起来像这样:

太大了,放错了。

在 IB 中也是这样的:

我应该怎么做才能在这里实现正确的行为?

谢谢! 埃里克

【问题讨论】:

    标签: ios objective-c uiviewcontroller uiimageview constraints


    【解决方案1】:

    这一切都归功于内在内容大小。就像 UILabel 和 UIButton 根据其内容调整自身大小一样,UIImageView 也根据其要保存的图像大小调整自身大小。

    固有的内容大小对于标签和按钮非常有用,但对于 UIImageView 来说就不是很好了。因为您要设置到 UIImageView 的图像实际上可能大于屏幕尺寸,我们不希望我们的图像视图与图像本身一样大。

    因此,一个简单的解决方案是在图像视图上设置宽度和高度约束纵横比约束,以便图像视图的大小保持不变.

    HTH :)

    【讨论】:

    • 明白 ;) - 我接受了 Roger Nolan 的回答,所以我不能“接受”你的回答。但我投了赞成票,因为它是很好的信息;)谢谢!
    • @Erik 完全没问题!我只是想详细解释一下,就是这样:) 干杯
    【解决方案2】:

    您的图像视图正在根据您设置为显示的图像调整自身大小。

    这种行为在(例如)文本视图中非常有用,您希望视图增长以显示所有文本。它有时在作为静态 UI 一部分的图像视图中不太有用。

    一种解决方案是向视图添加约束以保持您设置的大小:从视图向右拖动到自身,然后像添加任何其他约束一样添加宽度约束,然后添加垂直高度约束 宽高比约束。

    另一种解决方案是提供大小正确的资源,以便视图自动调整为正确的尺寸。

    【讨论】:

    • 还有一个可能是设置图像的纵横比,并且仅根据我们希望将其视为最大值的宽度/高度进行限制
    • 那是“垂直高度限制或纵横比限制”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-05
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2017-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多