2016-09-20 6 views
11

Поскольку я установил Xcode 8, у меня проблемы. Я не получил правильное значение для каждого или любого UIView.Xcode 8 высота возврата = 1000 и ширина = 1000 для UIview (фактический размер (328,40))

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

ответ

14

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

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    [self.view layoutIfNeeded]; 

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

Спасибо .. Я попробую это. – Sommm

+2

Это работает для меня для swift - self.view.layoutIfNeeded() –

+0

не работает для textView inputAccessoryView. Но я думаю, что я могу установить фрейм вручную перед установкой inputAccessoryView ... Но я ненавижу жесткий код :( – user2387149

1

Для Swift 3:

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

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

 Смежные вопросы

  • Нет связанных вопросов^_^