简体   繁体   English

Swift UIImage全屏

[英]Swift UIImage full width of screen

I have the UIImage like so: 我有这样的UIImage:

let imageView = UIImageView(image: image!)

imageView.contentMode = .scaleToFill

self.view.addSubview(imageView)

What I am trying to do it make the image full width of the screen, I have tried scaleToFill, scaleAspectFit and scaleAspectFill neither of them do anything...what am I doing wrong? 我想做的是使图像全屏显示,我尝试过scaleToFill,scaleAspectFit和scaleAspectFill两者都不做……我在做什么错?

Here is my full code: 这是我的完整代码:

getLandGradingImage(image: imageData!) { result in
    let image = UIImage(data: result)

    if image != nil {
        let imageView = UIImageView(image: image!)

        imageView.contentMode = .scaleAspectFit

        //Add Image to view
        self.view.addSubview(imageView)
    } else {
        self.customAlert(title: "Error", message: "Unable to get images")
    }

}
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFill
imageView.frame = self.view.bounds
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(imageView)

You have to make your UIImageView frame the size of the area you want to fill. 您必须将UIImageView框架设置为要填充的区域的大小。 You can do this by setting the frame explicitly or using auto-layout (recommended). 您可以通过显式设置框架或使用自动布局(推荐)来做到这一点。

method 1: 方法1:

let imageView = UIImageView(image: image!)
imageView.frame = self.view.frame;
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)

method 2: 方法2:

let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)
self.view.translatesAutoresizingMaskIntoConstraints = false  

self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "H:|-0-[subview]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["subview": imageView]))
self.view.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|-0-[subview]-0-|", options: .directionLeadingToTrailing, metrics: nil, views: ["subview": imageView]))

You want to manipulate the frame of the UIImageView and not the contentMode. 您要操纵UIImageView的框架,而不是contentMode。

Try this: 尝试这个:

let imageView = UIImageView(image: image!)

imageView.frame = self.view.frame
imageView.contentMode = .scaleToFill

self.view.addSubview(imageView)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM