UIImageView с вертикальным центром и snapkit

Как я могу вертикально центрировать UIImageView в суперпредставлении с помощью snapkit? Я пробовал так:

 imageview.snp.makeConstraints { (make) in
            make.centerY.equalTo(view.center.y);

        }

но кажется не очень хорошо. Как я могу использовать snapkit


person Z.Q    schedule 13.07.2018    source источник
comment
Я думаю, вы забыли добавить make.centerX.equalTo(view.center.x) часть. Нужны еще 2 ограничения - width и height. Потому что он знает, где должен быть центр. Но не знает, насколько большим должно быть ваше изображение   -  person Pavel Stepanov    schedule 13.07.2018
comment
make.centerY.equalTo(view.center.y); просто сделайте кнопку изображения в вертикальном центре своего супервизора   -  person Z.Q    schedule 13.07.2018


Ответы (3)


Попробуйте следующий код

Imageview.snp.makeConstraints { (make) in
     make.left.equalTo(view.snp.left).offset(50)
     make.centerY.equalTo(self.view)
     make.width.height.equalTo(100)
}
person Bhavesh.iosDev    schedule 27.10.2018

Недостаточно дать imageView только centerY, вам нужно также указать ширину, высоту и ограничение x, поэтому попробуйте это

imageview.snp.makeConstraints { (make) in
      make.left.equalTo(view.snp.left).offset(50)
      make.centerY.equalTo(self.view)
      make.width.height.equalTo(100)
}
person Sh_Khan    schedule 13.07.2018
comment
вы должны указать ширину, высоту и ограничение x - person Sh_Khan; 13.07.2018

Если вы хотите установить imageView в центре своего супервизора размером 100x100, попробуйте код ниже;

imageview.snp.makeConstraints { (make) in
    make.centerY.centerX.equalToSuperview()
    make.height.width.equalTo(100) 
}

Если вы хотите установить imageView в вертикальном центре и со смещением 50 пикселей от переднего края его супервизора с размером 100x100, попробуйте код ниже;

imgView.snp.makeConstraints { (make) in
    make.centerY.equalToSuperview()
    make.leading.equalToSuperview().offset(50)
    make.height.width.equalTo(100)
}
person KTPatel    schedule 03.12.2019