Ближайший сосед к вашему view.bottom - 12 для представления в ячейке, который является супервидом.Bottom.Margin (или представление содержимого ячейки). Вы запрашиваете у view.bottom ограничение 8. Кроме того, чтобы удовлетворить эти ограничения, построителю интерфейса необходимо изменить высоту представления (синий в вашем примере). это, конечно, не может быть сделано, потому что существует ограничение, ограничивающее высоту представления 50.
Чтобы исправить это, чтобы скомпоновать номера, изменить высоту ячейки представления таблицы на 80 вместо значения по умолчанию 84. Но если вы намереваетесь динамически изменять высоту ячейки таблицы, вы можете столкнуться с большими проблемами ограничения.
Или измените ограничение «Вертикальное пространство- (8) -Содержание вида», чтобы иметь константу 12. Таким образом, это будет «Вертикальное пространство - (12) -« Просмотр содержимого ». Опять же, если вы измените высоту ячейки таблицы динамически, у вас будут проблемы.
Вы намерены сосредоточить взгляд на ячейке таблицы? если это случай, то удалите два вертикальных ограничения и добавьте ограничения выравнивания центра y. Затем, когда вы меняете высоту ячейки, вид будет центрировать себя вертикально, вычисляя, каковы должны быть верхние и нижние ограничения.
Ниже приведен пример проекта я создал:
#import "testLayoutControllerTableViewController.h"
@interface testLayoutControllerTableViewController()
@property (weak, nonatomic) IBOutlet UITableView *thetable;
@end
@implementation testLayoutControllerTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cellid"];
return cell;
}
@end
Я бы разместить изображения настройки интерфейса строитель, и как она выглядит в тренажере, но я не хватает репутации.
Если высота UITableViewCell не равна 63, три ограничения конфликтуют :). Вы упомянули «изменение размеров ячейки», поэтому я предполагаю, что высота поднабора должна быть переменной. В этом случае вы можете попытаться удалить ограничение высоты (50). –
Я не хочу устанавливать установленную явно высоту UITableViewCell. Я хочу, чтобы autolayout определял это значение из высоты просмотров, которые являются дочерними элементами UITableViewCell. – MichalMoskala
Я вижу. Конфликты, отображаемые в раскадровке, могут быть из настройки «Table View Cell» - height. Как сказано выше, оно должно быть 63 (если для параметра «Сепаратор» установлено значение «Нет»), то правильное значение равно 64. –