Reputation: 11961
I have the UIImage like so:
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?
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")
}
}
Upvotes: 1
Views: 4412
Reputation: 3805
You want to manipulate the frame of the UIImageView
and not the contentMode.
Try this:
let imageView = UIImageView(image: image!)
imageView.frame = self.view.frame
imageView.contentMode = .scaleToFill
self.view.addSubview(imageView)
Upvotes: 1
Reputation: 525
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFill
imageView.frame = self.view.bounds
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(imageView)
Upvotes: 3
Reputation: 234
You have to make your UIImageView
frame the size of the area you want to fill. You can do this by setting the frame explicitly or using auto-layout (recommended).
method 1:
let imageView = UIImageView(image: image!)
imageView.frame = self.view.frame;
imageView.contentMode = .scaleAspectFit
//Add Image to view
self.view.addSubview(imageView)
method 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]))
Upvotes: 3