Высота возврата Xcode 8 = 1000 и Ширина = 1000 для UIview (фактический размер (328,40))

Так как я установил Xcode 8, у меня проблемы. Я не получил правильное значение для каждого или любого UIView.

Я также получил предупреждение о ограничении для UIView. Поэтому я обновляю его. Но представление возвращает 1000 как ширину или высоту. Я много искал. Но у него не было правильного решения. PLS помочь мне.

Ответ 1

Как уже упоминалось здесь, вы должны вызвать layoutIfNeeded для своего вида в viewDidLoad:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self.view layoutIfNeeded];

    // Now all your subviews are sized as you expect
}

Ответ 2

Для Swift 3:

override func viewDidLoad() {
    super.viewDidLoad()
    self.view.layoutIfNeeded()
}

Ответ 3

в xcode 8, я не мог получить layoutIfNeeded полностью работающим, поэтому мне пришлось сохранить раскадровку как файл Xcode 7. однако этот вопрос, по-видимому, исправлен в xcode8.1 см. здесь комментарий