У меня есть таможня UIView
с 2 многострочными ярлыками. Иногда мне нужно, чтобы скрыть эту точку зрения, так что я установить hidden = YES
и ограничение высоты 0.AutoLayout изменить размер изображения
Я делаю это так, но я не совсем уверен, если я могу изменить свои ограничения, в моем обычае UIViews'
layoutSubviews
.
- (void)layoutSubviews {
[super layoutSubviews];
if (!self.hidden) {
self.heightConstraint.constant = 15 + self.titleLabel.frame.size.height + 4 + self.bodyLabel.frame.size.height + 15;
} else {
self.heightConstraint.constant = 0;
}
}
Я знаю, что макет не односторонний процесс улицы и layoutSubviews
может вызвать updateConstraints
и наоборот.
Безопасно ли изменять ограничения самого вида в layoutSubviews
?
Вы можете просто переопределить виды setHidden: method и сделать это там. layoutSubviews не является хорошим местом для вашего права. – DBoyer