首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯威夫特UIImageView拉伸面

斯威夫特UIImageView拉伸面
EN

Stack Overflow用户
提问于 2015-01-15 10:58:32
回答 6查看 83.5K关注 0票数 30

UIImageView不正确地呈现图像的大小。使用尺度方面适合,如果UIImageView是一个平方,图像是正确的纵横比与透明度,在图像不填充的地区。

代码语言:javascript
复制
//Image is Square & Correct Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 320))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit

//Image is Rectangle & Incorrect Size
var imageView = UIImageView(frame: CGRectMake(0, 50, 320, 450))
imageView.clipsToBounds = true
imageView.contentMode = UIViewContentMode.ScaleAspectFit

UIImageView需要触摸边缘,在屏幕的顶部和底部有透明的空间,里面的图像需要保持原来的比例,而不是伸展得更高。我已经附加了两张图片,说明UIImageView内部的图像是如何呈现的。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-01-19 14:23:18

我在UIImageView中添加了一个自动调整大小的掩码,它现在显示正确的比率。

代码语言:javascript
复制
imageView.autoresizingMask = UIViewAutoresizing.FlexibleBottomMargin | UIViewAutoresizing.FlexibleHeight | UIViewAutoresizing.FlexibleRightMargin | UIViewAutoresizing.FlexibleLeftMargin | UIViewAutoresizing.FlexibleTopMargin | UIViewAutoresizing.FlexibleWidth
imageView.contentMode = UIViewContentMode.ScaleAspectFit

这个答案帮助了我:当我使用一张通过手机摄像头拍摄的图像时,Captured photo is stretched with AVCaptureSession sessionPreset = AVCaptureSessionPresetPhoto

票数 46
EN

Stack Overflow用户

发布于 2015-11-22 01:18:53

我也遇到了同样的问题,为我解决这个问题的是确保在内容模式设置之后设置imageView图像。ie:

代码语言:javascript
复制
    self.imageView.contentMode = UIViewContentMode.ScaleAspectFit
    self.imageView.image = imageChosen

干杯

票数 23
EN

Stack Overflow用户

发布于 2016-12-21 15:35:13

Swift 3版本的代码:

代码语言:javascript
复制
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight, .flexibleBottomMargin, .flexibleRightMargin, .flexibleLeftMargin, .flexibleTopMargin]
imageView.contentMode = .scaleAspectFit // OR .scaleAspectFill
imageView.clipsToBounds = true
票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27961884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档