Наиболее важным симптомом здесь является то, что ваш пользовательский интерфейс занимает точно пространство, которое вы ожидаете, если оно будет отображаться на стандартном iPhone. И другим важным симптомом является то, как ваши UILabels выглядят размытыми - это часто является признаком того, что UILabel не получает правильную шкалу для экрана, особенно если растеризуется.
Когда вы инициализируете свое приложение в делетете приложения (didFinishLaunchingWithOptions), проверьте, не были ли вы жестко закодированы границы для UIWindow или rootViewController для вашего UIWindow для стандартного разрешения iphone (т. Е. 320x480). Они должны быть установлены с использованием границ [[UIScreen mainScreen]], а не жестко закодированы до фактических точек. Действительно, вы должны искать любое место в своем приложении, где вы жестко закодировали размеры экрана - выполните поиск по строкам «320» и «480» - это номера, которые никогда не должны появляться в вашем коде.
Другая возможность заключается в том, что вы установили некоторые из ваших растровых растровых изображений (layer.shouldRasterize = YES), но вы не установили layer.rasterizationScale в масштаб основного экрана (например, [[UIScreen mainScreen]] , который будет 2.0 в контексте Retina). Я видел такой же грязный UILabel, когда я не установил масштаб должным образом.
Я признаю, что, поскольку ваше сообщение говорит, что это изменение произошло только после обновления ОС, это, вероятно, не проблемы, но, чтобы быть уверенным, я бы их проверил.
Обновление: С другой стороны, жесткая кодировка этих границ, что плохой практикой, не может вызвать эту проблему, поскольку это правильные логические границы для iPhone, а ОС масштабируется для вас. Таким образом, между этими двумя предложениями, более вероятным виновником является то, что некоторые свойства, связанные с масштабами, устанавливаются неправильно. Другая возможность заключается в том, что вы используете UIView contentScaleFactor и неправильно устанавливаете его.
Не странно, это ваше приложение iphone, работающее на симуляторе iPad. – KevinDTimm
Попробуйте создать новый проект Xcode. Запустите его на симуляторе сетчатки. Кроме того, обновите до Xcode 4.4, если вы этого не сделали. В конечном счете, я так сильно смеялся над рисунком, выглядел как ошибка :) – Mazyod
Интересно. Попробуйте перейти в меню iOS Simulator и выберите «Сбросить содержимое и настройки». Может быть, это поможет –