Я поместил UIView в вид ViewController с помощью NavigationController.Xcode 8 Размер рамы для раскадровки
И установите новые ограничения UIView как верхнее пространство в TopLayoutGuide: 0, Ведущее пространство для просмотра: 0 Пространство для просмотра: 0 и нижнее пространство до нижнего макета.
В результате, в IB новый UIView кажется прекрасным, я имею в виду, что он находится прямо под навигационной панелью и заполняет остальные.
Но в Objective-C я выводил NSLog для self.view.frame.size и новый frame.size для UIView. Я ожидал, что высота нового UIView была меньше высоты self.view. Поскольку новый верх UIView находится только под панелью навигации, а во всей области покрытия self.view.
Но результат был такой же высоты для обоих из них. И это делает содержимое нового UIView неуместным.
У вас есть хорошее решение?
спасибо.
Где вы их печатаете? – Tj3n
Размеры фреймов будут неправильными до тех пор, пока не будет вызвано 'viewDidLayoutSubviews', которое является точкой, в которой все ваши ограничения были разрешены. – norders
Благодарим вас за хорошее предложение. Я попытаюсь переписать код. –