У меня есть пользовательская ячейка, в которой есть UILabel
, UIButton
и UIImageView
.Увеличьте высоту пользовательской кнопки ячейки с помощью автоматической компоновки (VFL)
Вы можете видеть, что в третьей строке правой части (что кнопка управления - selectionButton
). Сжиматься, так как название кнопки слишком долго, чтобы поместиться в
Конкретное требование здесь, чтобы увеличить высота кнопки и высота ячейки на основе длинного или короткого названия этой кнопки.
Потеряв много часов, я не мог понять ограничений.
Ниже тока ограничение по описанной выше конструкции пользовательских ячейки:
// Constraints
NSDictionary *views = @{@"titleLabel" : self.titleLabel, @"selectionButton" : self.selectionButton, @"arrowImage" : self.arrowImage};
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-15-[titleLabel]-15-|" options: 0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|[selectionButton]|" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-20-[arrowImage(10)]" options:0 metrics:nil views:views]];
[self.contentView addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-15-[titleLabel]-2-[selectionButton]-5-[arrowImage(10)]-10-|" options: 0 metrics:nil views:views]];
NSLayoutConstraint *constraint1 = [NSLayoutConstraint constraintWithItem:self.titleLabel attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationLessThanOrEqual toItem:self.contentView attribute:NSLayoutAttributeWidth multiplier:0.55 constant:0];
[self.contentView addConstraint:constraint1];
NSLayoutConstraint *constraint2 = [NSLayoutConstraint constraintWithItem:self.selectionButton attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationLessThanOrEqual toItem:self.contentView attribute:NSLayoutAttributeWidth multiplier:0.45 constant:0];
[self.contentView addConstraint:constraint2];
Ваше решение работает. Я отредактировал ответ, чтобы удалить предупреждение об амортизации. – Kampai