autoresizingMask для фиксированных размеров полей
В представлении, содержащем несколько подпредставлений, одно из подпредставлений должно оставаться на фиксированном ненулевом расстоянии от верха и низа суперпредставления. На этих изображениях этот вид показан серым цветом:
Согласно документации, этот вид должен иметь маску UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
, Однако это заставляет представление увеличивать его высоту, чтобы охватить все суперпредставление. Как можно содержать представление с фиксированными, но ненулевыми полями? Благодарю.
1 ответ
UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth
должно сработать.
Однако есть ошибка с автоматическим изменением размера UIView, когда высота / ширина родительского вида становятся маленькими (и все ломается, когда становится нулевым) - возможно, просто высота / ширина UIView не может стать отрицательной.
Я сталкивался с этой проблемой при выполнении initWithFrame:CGRectZero; это также может произойти, если вы используете что-то вроде subview.frame = self.bounds
когда self.bounds имеет значение CGRectZero (или иным образом мало).
Мой грубый метод отладки должен был бы переопределить setFrame: и setBounds: добавить NSLog.