为啥更改 UIImageView 内容模式会影响其在 Xcode6 中的自动布局?

Posted

技术标签:

【中文标题】为啥更改 UIImageView 内容模式会影响其在 Xcode6 中的自动布局?【英文标题】:why changing UIImageView content mode-affect its auto-layout in Xcode6?为什么更改 UIImageView 内容模式会影响其在 Xcode6 中的自动布局? 【发布时间】:2014-09-16 12:52:46 【问题描述】:

我只是迷失了这个自动布局。它真的很不稳定,而且每次它的表现都不一样。

我有一个UIImageView,我唯一的梦想是它会在屏幕大小中适用于所有设备。就是这样,这是我的梦想。

我在视图控制器上拉伸了图像视图,创建于 storyboard 。 我打开storyboard 约束,并将"spacing to neighbour" 设置为零。它比向图像视图添加 2 个约束。这意味着容器视图的间距为 0 (!!)。

我将其背景颜色设置为红色,并且我没有为其设置任何图像。

在模拟器的设备上运行,红色不在屏幕大小中,它覆盖了我运行的每个设备的部分屏幕。

然后,如果您将图像内容模式更改为 Aspect fit,or scaleToFill ,它会更改红色 (uiimageview) 大小,因此它会像接受的那样适合屏幕。 顾名思义,内容模式适用于 content,即视图内部的图像。为什么这会影响我的超级简单视图?

这个布局的东西我缺少一些基本的东西。

【问题讨论】:

您是否在选中Constrain to Margins 复选框的情况下添加了约束? 好吧,我对正在发生的事情也有同样的误解。当我更改 UIImageView 内容模式时,超级视图中的 imageView 位置和大小会发生变化。不是 UIImageView 本身的内容。这有点奇怪。 对于那些使用 IB 的人,在这里找到了答案:***.com/questions/20844128/… 【参考方案1】:

好的,我明白了,面对它的任何人,你最好知道,如果你不给 UIImageView 设置图像,Xcode6 会变得疯狂,并且会做一些意想不到的事情。当您设置图像时,它会全部转到正确的位置。

非常不稳定的版本。

【讨论】:

这里也一样,发现了很多奇怪的行为

以上是关于为啥更改 UIImageView 内容模式会影响其在 Xcode6 中的自动布局?的主要内容,如果未能解决你的问题,请参考以下文章

为啥我的 UIButton 会影响我在 Swift 中的 UIImageView?

为啥自调整大小的表格视图单元格中的 UIImageView 具有内容模式 AspectFit 的原始高度?

为啥当我在平移单元格时更改 UIImageView 的图像时,整个视图会重置一秒钟?

CSS Flexbox 问题:为啥我的 flexchildren 的宽度会受到其内容的影响?

使用 ContextAPI 不会重新呈现其使用者,但会更改内容。为啥?

为啥这个 UIImageView 会自动居中?