Как вы автоматически изменяете размер вложенного представления UITableViewCell для сгруппированного режима?

#uitableview #autoresizingmask

#uitableview #маска автоматического изменения

Вопрос:

Я выделил UITableViewCell в подкласс, чтобы добавить дополнительную метку и некоторые параметры цвета.

Я добавил метку в качестве вложенного представления [ячейки].contentView. Когда вы устанавливаете UITableView в режим «сгруппированный», он имеет отступ по бокам родительского вида. Вложенные представления по умолчанию перемещаются на соответствующую величину, но не те, которые вы добавляете. Я установил маске автоматического изменения добавленного представления все возможные значения, но ни одно из них не учитывает уменьшенную ширину правильно.

Вот все комбинации и результаты:

Прямоугольник для вложенного представления label создается в initWithReuseIdentifier следующим образом:

     CGRect specialtyRect = CGRectMake(IMAGE_THUMBNAIL_SIZE   3, 3, self.contentView.frame.size.width - IMAGE_THUMBNAIL_SIZE - 6, 16);
    self.specialtyLabel = [[UILabel alloc] initWithFrame:specialtyRect];
    [self.contentView addSubview:specialtyLabel];
  

Кто-нибудь знает, почему красный подвидж ведет себя таким образом, и как правильно сделать правый конечный отступ, чтобы соответствовать уменьшенной ширине, в то время как левый конец остается корректно смещенным от ImageView? Спасибо!

Я не использую UITableViewController, и я не загружаю эти ячейки из XIB.