Swift UIImage на всю ширину экрана - PullRequest
0 голосов
/ 23 мая 2018

У меня UIImage вот так:

let imageView = UIImageView(image: image!)

imageView.contentMode = .scaleToFill

self.view.addSubview(imageView)

Что я пытаюсь сделать, чтобы сделать изображение на всю ширину экрана, я пробовал scaleToFill, scaleAspectFit и scaleAspectFill, ни один из них ничего не делает ...Что я делаю не так?

Вот мой полный код:

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")
    }

}

Ответы [ 3 ]

0 голосов
/ 23 мая 2018
let imageView = UIImageView(image: image!)
imageView.contentMode = .scaleAspectFill
imageView.frame = self.view.bounds
imageView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
self.view.addSubview(imageView)
0 голосов
/ 23 мая 2018

Вы должны сделать UIImageView рамку размером области, которую вы хотите заполнить.Вы можете сделать это, установив фрейм явно или используя автоматическое расположение (рекомендуется).

метод 1:

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

метод 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]))
0 голосов
/ 23 мая 2018

Вы хотите манипулировать фреймом UIImageView, а не contentMode.

Попробуйте это:

let imageView = UIImageView(image: image!)

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

self.view.addSubview(imageView)
...