ios 8 (UITableViewCell): ограничения неоднозначно указывают высоту нуля для представления содержимого ячейки табличного представления

У меня есть таблица с использованием автоматических ограничений макета, все работает в iOS 7, но когда я тестировал в iOS 8, я получил следующее предупреждение

Только предупреждение один раз: обнаружен случай, когда ограничения неоднозначно указывают высоту нуля для представления содержимого ячейки табличного представления. Мы рассматриваем развал непреднамеренно и вместо этого используем стандартную высоту.

После того, как я тщательно изучил эту проблему, я обнаружил, что должен добавить следующие строки в viewdidload только для iOS 8

 self.tableView.rowHeight = UITableViewAutomaticDimension;

 self.tableView.estimatedRowHeight = 87;

После этого все еще я получаю это предупреждение, и высота ячейки не является правильной, которая не берет высоту от Раскадровки

Для получения дополнительной информации о UITableViewCell, найдите наши ограничения для ячейки просмотра контента.

-(void) updateConstraints {
    [super updateConstraints];


    if(!didSetupConstraints ) {
       didSetupConstraints = YES;


    [self.contentView removeConstraints:self.contentView.constraints];
    // Interval Title
    //Leading
    constraint = [NSLayoutConstraint constraintWithItem:self.intervalTitle attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.contentView attribute:NSLayoutAttributeCenterX multiplier: 1.0 constant:0.0];
        [self.contentView addConstraint:constraint];

     //Top
    constraint = [NSLayoutConstraint constraintWithItem:self.intervalTitle attribute:NSLayoutAttributeTop relatedBy:NSLayoutRelationEqual toItem:self.marketLocationTitle attribute:NSLayoutAttributeTop multiplier:1.0 constant:0.0];
        [self.contentView addConstraint:constraint];
}

1 ответ

Решение

Авто макет прямо на этом. Невозможно рассчитать высоту ячейки из .CenterX а также .Top для этикетки. Одним из способов решения проблемы будет удаление существующих .CenterX ограничение и добавление нового .Bottom ограничение. Таким образом, Auto Layout может легко рассчитать высоту ячейки.

Другие вопросы по тегам