UIStackView 动态高度图片

Posted

技术标签:

【中文标题】UIStackView 动态高度图片【英文标题】:UIStackView dynamic height image 【发布时间】:2017-09-04 02:41:08 【问题描述】:

我正在关注 appcoda 中的教程。问题是在不同设备之间预览堆栈视图时,高度不符合设备的大小。

这是我想要的:

这是我得到的:

约束会影响不同设备中的高度吗?或者您需要为不同设备编码高度?

【问题讨论】:

尝试将图像视图的内容模式设置为宽高比填充。 【参考方案1】:

选择故事板中的图像并尝试更改“内容模式”选项,如下图所示

我相信“Aspect Fill”会解决它。

【讨论】:

现在图像在大屏幕上变小了imgur.com/a/K6CL7 在嵌入stackview之前我要先设置内容模式吗? 不,什么时候做都没关系。只要你这样做,它就会生效。但是正如我在您在评论中发送的图片中看到的那样,图片尺寸太小了。我的建议是从屏幕的左右边缘设置图像的约束,以便在任何屏幕尺寸下,您的图像从它的超级视图的左右边缘都有一个恒定的空间。 (在您的情况下,图像的超级视图是设备的孔屏) 更新它似乎我犯了一个错误,现在它的图片应该是@TeddyBear 但现在图像和文本的位置被破坏了imgur.com/a/63CzG。如何让图片在文字下方? 您可以使用垂直堆栈视图。如果将文本和图片都放在堆栈视图中,并为图片添加一个约束以设置其与上方对象的距离(或为文本添加一个约束以设置与下方对象的距离) , Xcode 会自动处理问题,不管是什么设备。 我是否将每个图像的约束设置为它上面的对象?

以上是关于UIStackView 动态高度图片的主要内容,如果未能解决你的问题,请参考以下文章

使用 UIStackView 的 UITableViewCell 的动态高度

UICollectionView:使用 UIStackView 的动态单元格高度

如何动态调整单个 UIStackView 的行高以填满整个屏幕?

使用swift在UiStackview中设置UiLabel的高度

基于子视图的 UIStackView 容器视图高度

使多视图按钮可点击