У меня есть супервизор, который является только подклассом UIView
, и у меня есть подкласс, который является подклассом UIImageView
, который я хочу прикрепить к нижней части надзора.[Авто макет] Прикрепление UIView к нижней части своего супервизора при изменении высоты супервизора
Высота подвидности фиксированная, но высота надзора может быть изменена. Поэтому в основном, я хочу, чтобы subview всегда прикреплялся к нижней части супервизора, когда я изменяю высоту надстройки программно.
Я делаю это с помощью автоматической компоновки,
Так SuperView ушел, сверху, справа придают его надтаблице и высота (я собираюсь изменить его программно), вот ее ограничение ,
и подтаблица ушла, снизу, справа крепится к надтаблицам, и его фиксированная высоту, а другое ограничение, высота SuperView должна равняться или Greate r, чем высота подвид.
Наконец, когда я нажимаю кнопку в самом низу, изменить высоту надтаблицы. Вот код,
- (IBAction)testButtonPressed:(id)sender {
[self.dragDownView setFrame:CGRectMake(CGRectGetMinX(self.dragDownView.frame), CGRectGetMinY(self.dragDownView.frame), CGRectGetWidth(self.dragDownView.frame), 100)];
}
Однако это не делает то, что я хотел, что держать подвид, прикрепленный к нижней части надтаблицы.
Перед тем, как изменить высоту:
После того как я изменить высоту:
Как вы можете видеть, что высота надтаблицы изменяется, однако subview все еще сохраняет то, что было раньше.
Кто может мне помочь?
вы используете AutoLayout, не напрямую изменять кадров – Mornirch
@mistyhua, что собирается помочь? –
Подключите Constraint к контроллеру и обновите его, как я уже сказал. – Mornirch