【问题标题】:iOS Image Resizing / Dealing With Blank SpaceiOS 图像大小调整/处理空白空间
【发布时间】:2015-05-29 03:21:27
【问题描述】:

我只是将 UIImageView 拖到情节提要中并使其成为正方形。我添加了一个粉红色的背景来显示 ImageView 中剩余空间的效果。在每种情况下,我都添加了一个更高的图像(第一个图像)和一个更宽的图像(第二个图像),以及一个文本标签。这是我的结果。

所以显而易见的问题是......我怎样才能摆脱这个额外的(粉红色)空间并保持照片的完整性(即不必拉伸或丢失图像的一部分)?如果我希望能够滚动浏览照片,最好让它们的边缘宽度相同,这样它们看起来整洁有序(如果它们是纵向的),如果我想在每张照片下都有文字,我d 希望文本更接近它,​​而不是如果它是横向的,则在它们之间有所有空白(粉红色)空间。显然不同尺寸的图片会给出不同尺寸的空白空间。

所以我在想我可以做的是在显示图像之前,获取它的大小,然后根据图片的方向与标签或屏幕边缘保持指定距离,然后在将图片插入 ImageView 之前,通过一些数学运算和使用图像尺寸创建/更改 UIImageView 的大小。这可能吗?还有其他方法我想不通吗?

只要看看任何像样的照片应用程序,尽管尺寸、方向等不同,它们都很好并且整齐地组织/显示,我想知道如何做到这一点。我显然还没有深入使用图像,只是在预先确定的 ImageView 中显示它们。

感谢您的帮助/建议!

【问题讨论】:

  • 我无法想象你想要什么。您能画出您认为这两个图像及其文本应该如何显示吗?
  • Raptor,它们的显示方式完全符合我的预期。在风景图像中,它没有我制作 UIImage 视图的像素数那么高,所以当我进行 Aspect Fit 以保持图片不倾斜时,有额外的(粉红色)。我要问的是因为我只使用了拖放 UIImageView,这会导致它的静态大小,所以如果图片不是那个大小,如果图片不是确切的尺寸,它会有额外的填充剩余,我想消除它。
  • 所以基本上去掉粉红色,这样我就有空间在上面和下面放更多图片......如果我不这样做,那么不同尺寸的图片会有不同的“剩余”粉红色和那么当您向下滚动它们时,它们的垂直间距将不正确。

标签: ios image uiimageview scaling


【解决方案1】:

试试这个...将您的 UIImageView 设置为 AspectFit(不是 AspectFill,因为这会丢失一些图像)并使用约束执行以下操作:

  • 将 UIImageView 在容器中水平和垂直居中
  • 将 UILabel 设置为在 UIImageView 下方浮动您想要的任何距离(“标准”通常很好)
  • 将 UIImageView 上的左侧、右侧和顶部约束设置为 >= 您想要的任何距离
  • 将 UILabel 的底部约束设置为(再次)>= 您想要的任何距离

这个应该的效果是 UIImageView 会正确地将自身调整到它的固有大小,并且约束应该正确地定位它和标签。

【讨论】:

  • 好的,谢谢。我已经使用了 Aspect Fit,仅此而已。我的直觉是它会做这些约束,然后把图像放在它上面,事情可能会歪斜,而不是我想要的。我之所以这么说,是因为在我得到我想要的东西之前,我之前使用自动布局的工作有一段时间非常令人毛骨悚然。但我一定会试一试。谢谢。如果没有,我会尝试硬编码一些实际上对我来说更容易理解的东西,因为自动布局对我来说不是 bueno。
猜你喜欢
  • 2017-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-01-31
  • 2020-01-21
  • 2012-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多