У меня есть следующие ограничения, примененные к моей ячейке через SnapKit, и они работают нормально.
self.imageView.snp.makeConstraints { make in
make.leading.top.trailing.equalToSuperview()
make.bottom.equalTo(self.nameLabel.snp.top)
if let width = self.imageView.image?.size.width {
make.height.equalTo(width)
}
}
self.nameLabel.snp.makeConstraints { make in
make.leading.trailing.equalToSuperview()
make.top.equalTo(self.imageView.snp.bottom)
make.bottom.equalTo(self.priceLabel.snp.top)
}
self.priceLabel.snp.makeConstraints { make in
make.top.equalTo(self.nameLabel.snp.bottom)
make.leading.trailing.bottom.equalToSuperview()
}
но когда я пытаюсь добавить пробел между imageView
и nameLabel
, я получаю ошибки
self.productImageView.snp.makeConstraints { make in
make.leading.top.trailing.equalToSuperview()
make.bottom.equalTo(self.productNameLabel.snp.top).inset(-8) // change here
if let width = self.productImageView.image?.size.width {
make.height.equalTo(width)
}
}
self.productNameLabel.snp.makeConstraints { make in
make.leading.trailing.equalToSuperview()
make.top.equalTo(self.productImageView.snp.bottom).offset(8) // change here
make.bottom.equalTo(self.productPriceLabel.snp.top)
}
self.productPriceLabel.snp.makeConstraints { make in
make.top.equalTo(self.productNameLabel.snp.bottom)
make.leading.trailing.bottom.equalToSuperview()
}
Чего я не понимаю, так это того, что если я передвину минус в ограничениях на остальные 8, тогда ошибки исчезнут, но представления теперь перекрываются. Я чувствую, что им не хватает чего-то основного, но не знаю, что.
Вот на что я надеюсь: