Добавление UIImage в Subview и Добавление ограничений - изображение не изменяется - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь добавить изображение в свой вспомогательный вид, а затем добавить ограничения и изменить его размер.

Когда я устанавливаю translatesAutoresizingMaskIntoConstraints в значение true, мое изображение отлично изменяется, но мои ограничения не работают.Когда я устанавливаю значение false, мои ограничения работают, но размер моего изображения обычный и размер не уменьшается.

Вот пример.https://imgur.com/a/kgCQyUJ

let image = UIImage(named: "avatar")
        let imageView = UIImageView(image: image!)
        imageView.translatesAutoresizingMaskIntoConstraints = true

        imageView.frame = CGRect(x: 0,
                                 y: 0,
                                 width: 31,
                                 height: 29)

        imageView.translatesAutoresizingMaskIntoConstraints = false
        imageView.layer.masksToBounds = true
        imageView.clipsToBounds = true


        view.addSubview(imageView)
        view.addConstraints([


            // FIRST AVATAR

                    // leading
            NSLayoutConstraint(item: imageView,
                               attribute: .leading,
                               relatedBy: .equal,
                               toItem: view,
                               attribute: .leading,
                               multiplier: 1.0,
                               constant: 28),

                    // top
            NSLayoutConstraint(item: imageView,
                               attribute: .top,
                               relatedBy: .equal,
                               toItem: view,
                               attribute: .top,
                               multiplier: 1.0,
                               constant: 6),

                    // bottom
            NSLayoutConstraint(item: imageView,
                               attribute: .bottom,
                               relatedBy: .equal,
                               toItem: view,
                               attribute: .bottom,
                               multiplier: 1.0,
                               constant: 5)

            ])

Моя ошибка:

    Probably at least one of the constraints in the following list is one you don't want. 
(
    "<NSAutoresizingMaskLayoutConstraint:0x2821c3700 h=--& v=--& UIImageView:0x12da069a0.midX == 15.5   (active)>",
    "<NSLayoutConstraint:0x2821d4410 H:|-(28)-[UIImageView:0x12da069a0]   (active, names: '|':UIView:0x12da067c0 )>"
)

1 Ответ

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

Кажется, вам не хватает ограничения trailing .Вы только установили ограничения ведущий , верх , низ .

И если вы хотите использовать автоматическое расположение (пусть ведение,top, bottom, конечные ограничения работают), оставьте translatesAutoresizingMaskIntoConstraints установленным на false.

...