Авторазмер прост - думайте об этом как о веб-странице.Веб-контент «течет», он занимает столько места, сколько дает окно браузера.Авторазмер одинаков.Существуют «маски», которые сообщают UIKit, как вы хотите, чтобы ваш контент приспосабливался к разным размерам фреймов.
Так, например, если вы хотите, чтобы ваше представление уменьшалось или увеличивалось с правой стороны (если оно было, дляНапример, выравнивание по левому краю (например, ячейка таблицы), вы должны установить маску следующим образом:
cell.autoresizingMask = UIViewAutoresizingFlexibleRightMargin;
Авторазмер также работает как операция побитового ИЛИ, так что если вы хотите, чтобы он рос справа(как указано выше), но также растут снизу, вы бы "ИЛИ" оба вместе.
cell.autoresizingMask = (UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleBottomMargin);
В случае, если это не работает для вас (например, вы хотите положить слишком много наэкран, и необходимо удалить определенные элементы и т. д., или вы хотите анимировать как-то иначе, чем по умолчанию), рассмотрите возможность использования уже существующих вызовов методов в UITableViewCell.Из документации :
- (void)willTransitionToState:(UITableViewCellStateMask)state
Это будет вызвано непосредственно перед изменением состояния ячейки (обычное-> редактирование или другое), поэтому, если вам нужно сделать что-то особенное для обработкианимация до состояния редактирования, это ваша возможность сделать это.Состояние документа:
Подклассы UITableViewCell могут реализовать этот метод для анимации дополнительных изменений в ячейке, когда она меняет состояние.UITableViewCell вызывает этот метод всякий раз, когда ячейка переходит между состояниями, например, из нормального состояния (по умолчанию) в режим редактирования.Пользовательская ячейка может устанавливать и позиционировать любые новые виды, которые появляются с новым состоянием.Затем ячейка получает сообщение layoutSubviews (UIView), в котором она может расположить эти новые представления в их окончательных местоположениях для нового состояния.Подклассы всегда должны вызывать super при переопределении этого метода. Overriding этого метода.