У меня есть пользовательский UIView, который автоматически использует автозапуск, чтобы установить размер фрейма. Для этой цели я установить ограничение на ширину свойства зрения, чтобы быть равными, что из надтаблицы, а затем ограничение соотношения сторон, чтобы быть каким-то трудно кодированным значениемКак изменить соотношение сторон UIView
//width constraint
NSLayoutConstraint *widhtConstraint=[NSLayoutConstraint constraintWithItem:entryView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:scrollView
attribute:NSLayoutAttributeWidth
multiplier:1.0f
constant:8.0f];
[scrollView addConstraint:widhtConstraint];
//aspect ratio constraint
NSLayoutConstraint *aspectRatioConstraint=[NSLayoutConstraint constraintWithItem:entryView
attribute:NSLayoutAttributeWidth
relatedBy:NSLayoutRelationEqual
toItem:entryView
attribute:NSLayoutAttributeHeight
multiplier:80.0/27.0//aspect ratio same as formula view
constant:0.0f];
[scrollView addConstraint:aspectRatioConstraint];
Пожалуйста, обратитесь изображения:
Я хочу, чтобы изменить соотношение сторон этого кадра на нажатии кнопки (View More), увеличивая его высоту и потом изменить его обратно на оригинал на коснувшись же button.Additionally как я выясняю общая высота представления, определяемая всеми ее подзонами, так что каждый подсмотр видим без обрезки. (В основном стандартная функция коллапса)
Как я могу манипулировать ограничением соотношения сторон, чтобы он содержал все подзоны под ним? –
Можете ли вы предложить, как бы я мог динамически изменять свойство множителя 'aspectRatioConstraint' (которое в этом случае указывает соотношение сторон представления). Будучи новичком в Autolayout, я тоже ничего не нашел в Интернете. –