Я столкнулся с проблемой автоопределения и не могу найти ответ на то, что должно быть простым в достижении.UIScrollView, Autolayout и subviews
У меня есть следующие иерархии Вид:
-UIScrollview
-UIView
- UILabel
- UILabel
- UILabel
Ведущие/конечные ограничения на этикетках делает их выше на более тонких устройств (IPhone 4S против iPhone 6).
Для того, чтобы UIScrollview работал правильно, мне нужно установить ограничение высоты UIView внутри UIScrollView, чтобы избежать предупреждения «двусмысленной высоты».
Но при работе на iPhone 4s UIView не достаточно высок, чтобы удерживать его подпункты.
Мое единственное решение до сих пор создать ссылку на высоте ограничение на UIView и обновить ограничение высоты, когда появляется вид:
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.contentHeight.constant =self.lastLabel.frame.origin.y+ self.lastLabel.frame.size.height;
[self.view layoutIfNeeded];
}
Я думаю, что должен быть лучший способ сделать то, что так просто.
Я добавил изображение, чтобы подробно показать проблему.
Спасибо за ваше время.
Per @Katty ниже, что делает ширину/высоту, равную результатам SuperView в Scrollview в в больших вопросах:
Какой должна быть равная высота? UIView »UIScrollView? Это предотвращает прокрутку, не так ли? –
ограничения для scrollview должны быть выровнены сверху, ведущей, задней и нижней надстройками и ограничениями дочернего представления, должны быть применены выровненные верхние, ведущие, конечные и нижние символы scrollview и должны указывать высоту, равную childview. (Например, если его 1200px , это должно быть исправлено) –
Вот что я делаю прямо сейчас.UIView: 0, trailing: 0, top: 0, bottom: 0, equalWidth to ScrollView, высота: 540 (исправлено) –