如何使我的图像完全适合 UIView

Posted

技术标签:

【中文标题】如何使我的图像完全适合 UIView【英文标题】:How can I make my image fit in completely in a UIView 【发布时间】:2017-06-30 11:26:08 【问题描述】:

我应用的图像在 iPhone7 plus 模拟器中看起来不错,而在 iPhone 5 模拟器中它不像我想要的那样。 我附上两张图片。请帮帮我。

第二张图片:

约束:

【问题讨论】:

将 imageview 的内容模式填充更改为 aspectToFit。 它不是一个图像视图它是一个 UIView 另外为那个 UIView 添加 , 尾随空间约束,你的问题就会解决。 不要给出比例,而是尝试给出一些静态宽度,如 100,然后检查。 【参考方案1】:

使用比例约束代替固定宽度、高度约束。

假设您的视图有 250 宽和 100 高,并且您正在设计 375 宽 xib 的单元格。

给予约束的步骤

1 :- Leading Constraints  same as you described in your image.
2 :- Center Vertical Constraints same as you described in your image.
3 :- Give aspect Ratio to your View.
4 :- Give equal width Constarint of Your View with Super View.

乘数计算:-> 250/375 = 0.6666666667

编辑最后一个Constarint,其名称应如下所示:Propotional Width,编辑该Constarint并将乘数设为0.6666666667

运行应用程序,如果您使用委托方法设置适当的单元格高度,它应该几乎可以工作。

【讨论】:

当我用 UIimage 视图更改 UIView 时问题解决了 但现在的问题是我必须在这个白色圆圈上应用另一个图像。怎么做? —— 很好,但我想这不是解决方案。如果您使用第一个 UIView 并且它不能正常工作,那么您可以借助 Debug View Hierarachy 的帮助。之后您可以看到它的框架和所有内容。 是的,我知道这不是解决方案 好的没问题,让我知道你到底想要什么?这个白色圆圈上的另一个 imageView ?为什么?【参考方案2】:

按照以下步骤操作:

    在您的故事板中,使用 UIview 的自动布局,如下所示:添加 来自左、上、高、宽的约束 它适用于所有屏幕

【讨论】:

也这样做了。我添加了约束截图 试试这个...从所有四个边添加视图约束,并从顶部、右侧添加标签和其他约束(如果需要,可以添加高度和宽度)。【参考方案3】:

我认为您在设计时在情节提要中使用了 7 plus 屏幕分辨率。 角半径在约束加载之前应用。

在超级调用后在 layoutSubviews 方法中应用你的圆角半径。

【讨论】:

【参考方案4】:

为该 UIView 添加以下约束。

1. Leading space to its superview 2. Trailing space to nearest label 3. Add the constraint Vertically in container 4. Set Width constraint 5. Set height constraint.

将完美运行。

【讨论】:

如果您为除 UIView 之外的所有其他内容设置了宽度约束,请移除这些约束.. 不是这样的 当我用 UIimage 视图更改 UIView 时问题解决了 但现在的问题是我必须在这个白色圆圈上应用另一个图像。该怎么做? 按照上面的链接,这样就可以将占位符图片设置为那个白圈.....在没有头像的情况下会出现.....如果有头像图片,然后出现该特定的个人资料图片,....

以上是关于如何使我的图像完全适合 UIView的主要内容,如果未能解决你的问题,请参考以下文章

如何用图像替换 UIView?

如何使我的 xml 代码适合所有设备

如何使我的片段适合我的工具栏和底部导航栏,并使它仍可滚动?

如何在 Flutter 中使我的单选按钮完全填充活动颜色的颜色而没有白色边框?

如何使我的图像停留在一页上而不重复?

如何使我的背景图像仅出现在 rails 4 的一页上?