2015-07-23 1 views
1

Если ваше устройство (симулятор или iPad) находится в альбомной ориентации, и вы запускаете приложение при запросе на ширину, вы получаете неправильные результаты. Нужно получить 1024, но на самом деле я получаю 768, что совершенно неправильно. На iOS 8 это работает должным образом. На iPhone и iOS 7 вид сначала на портрете, а затем быстро меняется на пейзаж, который работает на мой случай.Неверная ширина обзора при запуске iPad-приложения в iOS 7

viewDidLoad Я получаю размер с View.Bounds.Size.Width. Если вы повернете устройство и запросите данные в didRotateFromInterfaceOrientation, данные верны. Для моего приложения мне это не нужно в viewDidLoad, но в другом методе. Но в viewDidLoad это похоже на то же поведение.

Что здесь не так? Как получить правильную ширину представления на iOS 7 и iOS 8?

+0

Для какой цели вам нужна ширина и высота экрана? Вы используете автоматическую компоновку? большинство проблем с размером экрана можно избежать, если вы используете автоматический макет. –

+1

попробуйте это в методе 'viewDidLayoutSubviews:'. Вы получите правильные результаты. – Gandalf

+0

@HashmatKhalil: У меня возникла проблема: 'layoutAttributesForItemAtIndexPath' возвращает [неправильный размер] (http://stackoverflow.com/questions/31542783/ios-7-keeping-the-displayed-items-in-the- просмотр участок после поворота из-uicolle). Теперь я пытаюсь найти причину этого. Во время поиска я обнаружил, что при запуске этот размер неправильный. Мне нужен размер для выбора элементов в представлении коллекции. – testing

ответ

1

Вы должны попытаться получить ширину в viewDidLayoutSubviews: или любым другим способом, который приходит после того, что в иерархии представлений, таких как viewDidAppear:

Надежда это поможет.

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

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