Xcode+Swift:UIImageView 自动产生空白区域。如何删除它?

Posted

技术标签:

【中文标题】Xcode+Swift:UIImageView 自动产生空白区域。如何删除它?【英文标题】:Xcode+Swift: UIImageView automatically produces white empty space. How to remove it? 【发布时间】:2017-01-25 10:03:24 【问题描述】:

我的 VC 中有一个 UIImageView。我想在里面放一张图片。 imageView 有 4 个约束:到所有方向的距离为 8。当我加载屏幕时,它会自动产生一个很大的空白,我不知道为什么。

问题是我不确定它是否真的是 UIImageView 产生的空白。如果我将内容模式设置为缩放以适应仍然存在空白。但是,如果我在调试模式下查看空间来自它的 UIImageView。这是我调试的图片,希望您知道我的意思:

编辑: 我试图打印出它传回 0 的 imageView.frame.height。可以吗? 在我的调试器中 imageView.height = 400 为什么我不能打印出 imageView.height?我收到“imageView 没有成员高度”的错误

编辑2: 我现在尝试了一些不同尺寸的图片......每次我最后都有400的高度

【问题讨论】:

我认为你的约束有问题。天气你已经给了 8 个方向,但要确保有父视图。所以你的父视图必须正确显示。 我的父视图是表格中没有定义高的单元格。因此,如果我将向下约束设置为 500,我有空格 +500 你记得设置 imageView backgroundColor 为 clearColor 吗? @BjørnRuthberg 我已经清除了背景颜色。我是怎么做到的? imageview.backgroundcolor = uicolor.clear,或者在情节提要中进行。 【参考方案1】:

如果您想使图像居中,请设置中心 X 和中心 Y 约束以及高度和宽度。 也尝试添加此代码:

imageView.contentMode = .scaleAspectFit
imageView.clipsToBounds = true

【讨论】:

我的内容模式通常是缩放 AspectFit ...我只是将其更改为缩放以适应向您展示空白不是真正的图像,而是由 UIImageView 创建的空白 您可以发布您设置的约束条件吗?

以上是关于Xcode+Swift:UIImageView 自动产生空白区域。如何删除它?的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式在 Swift 中将 uiimageview 设置为 xcode 内置的 applewatch 图标图像?

以编程方式更改 UIImageView Xcode Swift 的高度和宽度

XCode/Swift:如何管理两个重叠图像视图的约束

Swift - 自定义 UIImageView 类

Swift - 自定义单元格内容(UILabel、UIImageView)

自Xcode 10以来,UIImageView setImage在后台线程上崩溃[重复]