UIImageView - 如果图像高度很小,则将内容向上移动

Posted

技术标签:

【中文标题】UIImageView - 如果图像高度很小,则将内容向上移动【英文标题】:UIImageView - move content up if image height is small 【发布时间】:2015-04-29 21:11:12 【问题描述】:

我的应用中有一个 UIImageView,如果图像高度很小,我想将内容向上移动。这是一个 ASCII 示例 - 每行在应用程序中是 50 或 100 像素:

全高图片:

[  
    UIIMAGEVIEW 
]
    CONTENT

短图:

[  UIIMAGEVIEW ] 


    CONTENT

是否可以以某种方式缩小 UIImageView 的高度以使内容始终相邻(如 html 中的 DIV)?

目前我在自动布局中使用固定高度约束。

我是否需要添加一个 IBOutlet,然后在代码中调整约束,如下所示:Dynamic UIView height with auto layout in ios 6。如果是这样,似乎相当冗长。

【问题讨论】:

我想你只需要删除那个固定的高度约束。 我删除了固定高度约束并得到一个红色的 Missing Constraints 图标,建议我添加另外 7 个约束以使事情正常进行。查看高度约束本身,它显示它是 200 的常量。我似乎无法将其更改为非常量。 【参考方案1】:

只是一个想法,如下所述获取图像的大小并为它们设置 UIImageView 的宽度/高度。然后从旧高度中减去 UIImageView 的新高度,然后从内容视图的 .y 中减去该结果。

float heightOfImage = image.size.height;

【讨论】:

以上是关于UIImageView - 如果图像高度很小,则将内容向上移动的主要内容,如果未能解决你的问题,请参考以下文章

UILabel 动态高度和 UIImageView 恒定高度

UIImageView 高度不是自动布局约束后子图像高度的高度。

将 UIImages 高度缩放到 UIImageView 高度

当宽度为设备宽度且高度为原始图像的高度时,UIImageView 中的图像被裁剪

iOS 8 UITableViewCell 与 UIImageView 动态高度

在方面适合后从 UIImageView 获取图像的宽度和高度