使大图像适合小尺寸的图像视图

时间:2016-04-19 07:35:20

标签: ios swift uiimageview

我正在努力使大图像适合小尺寸的UIImageView。如何缩小图像的大小或进行适当缩放以使整个图像适合UIImageView

4 个答案:

答案 0 :(得分:0)

尝试使用不同的模式,例如scale to fillaspect 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。请执行以下操作:

  1. 解析JSON并从JSON获取URL。(videothumbnail键值)
  2. 网址包含反斜杠作为转义字符(http://content.m-tutor.com/images/20150916113347_5-cont.png)删除它们以获取此网址http://content.m-tutor.com/images/20150916113347_5-cont.png

  3. 下载图片使用以下代码:

    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()
    }
    }
    
  4. 我给出了一个如何下载图像(获取数据),使用下载的数据创建图像以及将其设置为imageView的示例,您可以根据需要进行更新。  希望它有所帮助:]

答案 2 :(得分:0)

将imageView的模式设置为Aspect Fit

答案 3 :(得分:0)

为图像视图设置此属性

imageView.contentMode  = UIViewContentModeScaleAspectFit;