Ответ 1
Как уже упоминалось здесь, вы должны вызвать layoutIfNeeded
для своего вида в viewDidLoad
:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view layoutIfNeeded];
// Now all your subviews are sized as you expect
}
Так как я установил Xcode 8, у меня проблемы. Я не получил правильное значение для каждого или любого UIView.
Я также получил предупреждение о ограничении для UIView. Поэтому я обновляю его. Но представление возвращает 1000 как ширину или высоту. Я много искал. Но у него не было правильного решения. PLS помочь мне.
Как уже упоминалось здесь, вы должны вызвать layoutIfNeeded
для своего вида в viewDidLoad
:
- (void)viewDidLoad
{
[super viewDidLoad];
[self.view layoutIfNeeded];
// Now all your subviews are sized as you expect
}
Для Swift 3:
override func viewDidLoad() {
super.viewDidLoad()
self.view.layoutIfNeeded()
}
в xcode 8, я не мог получить layoutIfNeeded полностью работающим, поэтому мне пришлось сохранить раскадровку как файл Xcode 7. однако этот вопрос, по-видимому, исправлен в xcode8.1 см. здесь комментарий