Своеобразное верхнее поле в ImageView добавлено из ChildViewController - PullRequest
0 голосов
/ 14 октября 2018

Я создал дочерний контроллер вида, как показано ниже.Он имеет UIImageView.Я добавил UIImageView к представлению, как показано ниже.

class SampleChildViewController : UIViewController {

    let imageView : UIImageView = {
        let imageview = UIImageView()
        imageview.translatesAutoresizingMaskIntoConstraints = false
        imageview.clipsToBounds = true
        imageview.contentMode = .scaleAspectFit
        imageview.image = UIImage(named: "cat")
        return imageview
    }()


    override func viewDidLoad() {
        super.viewDidLoad()

        view.addSubview(imageView)

        NSLayoutConstraint.activate([
            imageView.topAnchor.constraint(equalTo: view.topAnchor),
            imageView.leftAnchor.constraint(equalTo: view.leftAnchor, constant: 10),
            imageView.widthAnchor.constraint(equalToConstant: 150),
            imageView.heightAnchor.constraint(equalToConstant: 150)
            ])
    }


}

Вот так выглядит родительский контроллер представления.

class ViewController: UIViewController {

    let child : SampleChildViewController = SampleChildViewController()


    override func viewDidLoad() {
        super.viewDidLoad()

        view.backgroundColor = UIColor.red

        child.view.translatesAutoresizingMaskIntoConstraints = false
        addChild(child)
        child.didMove(toParent: self)
        view.addSubview(child.view)



        NSLayoutConstraint.activate([
            child.view.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor, constant: 8),
            child.view.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor, constant: 8),
            child.view.leftAnchor.constraint(equalTo: view.leftAnchor),
            child.view.rightAnchor.constraint(equalTo: view.rightAnchor),
            ])



    }


}

Теперь проблема в том, что у меня странное верхнее полек изображению, как показано ниже.Как это исправить?

enter image description here

1 Ответ

0 голосов
/ 14 октября 2018

проблема с imageview.contentMode = .scaleAspectFit.Граница, которую вы видите для изображения, не является реальной границей.Установите режим контента как imageview.contentMode = .scaleAspectFill, так как он заполнит весь вид.

Должно выглядеть что-то ниже

let imageView : UIImageView = {
    let imageview = UIImageView()
    imageview.translatesAutoresizingMaskIntoConstraints = false
    imageview.clipsToBounds = true
    imageview.contentMode = .scaleAspectFill
    imageview.image = UIImage(named: "cat")
    return imageview
}()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...