我正在努力使大图像适合小尺寸的UIImageView
。如何缩小图像的大小或进行适当缩放以使整个图像适合UIImageView
?
答案 0 :(得分:0)
尝试使用不同的模式,例如scale to fill
,aspect fit
,方面填充等。
我认为符合您的要求scale to fill
是好的。
aspect fit
会保持图像的原始形状并符合纵横比,因此有可能图像视图的某些部分仍然是空白或未按图像覆盖。
缩放以适合尝试根据imageview缩放图像。这是默认模式。
方面填充将使用宽高比填充整个imageview。
所以选择最适合自己的东西。您可以从属性检查器轻松更改故事板中的模式。
希望这会有所帮助:)
答案 1 :(得分:0)
设置imageView的所需帧并设置图像视图的内容模式。例如:
imgView.contentMode = UIViewContentMode.ScaleAspectFit
//OR
imgView.contentMode = UIViewContentMode.ScaleAspectFill
//OR
imgView.contentMode = UIViewContentMode.ScaleToFill
使用适用于您的任何一种。
通过查看JSON我更新了答案:
正如我所怀疑的,它是一个用JSON获取的URL。请执行以下操作:
网址包含反斜杠作为转义字符(http://content.m-tutor.com/images/20150916113347_5-cont.png)删除它们以获取此网址http://content.m-tutor.com/images/20150916113347_5-cont.png
下载图片使用以下代码:
func startDownloadImageWithURL(urlInString: String?){
let session = NSURLSession.sharedSession();
if let urlInString = urlInString{
let urlToDownload = NSURL(string: urlInString)
session.dataTaskWithURL(urlToDownload!, completionHandler: {(data : NSData?,response : NSURLResponse?, error : NSError?) -> Void in
dispatch_async(dispatch_get_main_queue(), {
if let error = error {
print("Error while downloading \(error.localizedDescription)")
}
else{
//Assuming the yourImageView is already initialized with position
//yourImageView.image = UIImage(data: data)
}
})
}).resume()
}
}
我给出了一个如何下载图像(获取数据),使用下载的数据创建图像以及将其设置为imageView的示例,您可以根据需要进行更新。 希望它有所帮助:]
答案 2 :(得分:0)
将imageView的模式设置为Aspect Fit
答案 3 :(得分:0)
为图像视图设置此属性
imageView.contentMode = UIViewContentModeScaleAspectFit;