如何删除圆形 UIImageView 中的空白?

Posted

技术标签:

【中文标题】如何删除圆形 UIImageView 中的空白?【英文标题】:how to remove white space in circle UIImageView? 【发布时间】:2018-04-17 06:48:40 【问题描述】:

我想圈出我的 UIImageView 并添加此代码:

profileImage.layer.cornerRadius = profileImage.frame.size.height/2
    profileImage.clipsToBounds = true

它工作得很好,但是当图像是水平的时,我得到了这张照片:

如您所见,我的圆形图像视图的底部和顶部都有空白区域。但我真正想要的是一个充满我的形象的圆圈! 我尝试从属性检查器更改“内容模式”,但没有得到任何答案!我该如何解决这个问题?

【问题讨论】:

使用 profileImage.contentMode = .scaleToFill UIImageView Docs 中所述更改contentMode 只需将图像渲染模式设置为scaleAspectFill 【参考方案1】:

您已经设置了clipsToBound 属性。所以只需更新contentMode

我不想扭曲图像的比例:

profileImage.contentMode = .scaleAspectFill

如果图片的比例无关紧要,你也可以使用:

profileImage.contentMode = .scaleToFill

点击链接了解更多详情:https://useyourloaf.com/blog/stretching-redrawing-and-positioning-with-contentmode/

【讨论】:

【参考方案2】:

使用下面的代码:-

profileImage.clipsToBounds = true
profileImage.contentMode = .scaleAspectFill

【讨论】:

【参考方案3】:

将 UIImageView 的 contentMode 设置为 scaleAspectFill

profileImage.contentMode = .scaleAspectFill

请记住,使用此 contentMode 选项可能会剪切部分内容以填充视图的边界。

【讨论】:

【参考方案4】:

您可以根据您在 StoryBoard 中的选择设置不同的内容模式:

你可以选择

    按比例填充 方面填充

或使用适合您的试错法的任何其他内容模式

希望对你有帮助。

【讨论】:

【参考方案5】:

如果我选择Aspect Fit,我会在图像视图的顶部和底部得到空白。

我可以修剪那个空间吗?

我可以设置任何编程约束来根据实际图像大小重新缩放图像视图吗?

【讨论】:

以上是关于如何删除圆形 UIImageView 中的空白?的主要内容,如果未能解决你的问题,请参考以下文章

如何为圆形UIImageView创建半圆边框?

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

iOS UIImageView如何为圆形ImageView添加填充

如何在 UIImageview 中绘制椭圆形

UIImageView 应该是圆形视图而不是 UICollectionView 中的菱形

iOS 9.3 中的 UIImageView 如何渲染 UIImage?