iPhone - установка прошивки 2.2 вызвала странное поведение дисплея - PullRequest
1 голос
/ 11 декабря 2008

У меня есть UINavigationController, содержащий UIViewController, инициализированный с UIView.

UINavigationController также, как обычно, имеет UINavigationBar.

Ранее, когда я позиционировал новый элемент в UIView на 0,0, используя

CGRectMake(0,0,height,width);

Он будет располагаться прямо под UINavigationController. Тем не менее, после компиляции с 2.2 теперь он позиционирует 0,0 прямо за UINavigationBar (где вы ожидаете, что 0,0 будет нормальным).

Это происходит только тогда, когда приложение перекомпилировано с 2.2 SDK - приложение, оставленное на iPhone до обновления, все еще работает, как и ожидалось.

Дело в том, что я очень хочу, чтобы мое приложение рисовало правильно с 2.2, а также было обратно совместимо с 2.1

Кто-нибудь видел такое поведение или знает что-нибудь еще об этом?

Спасибо!

Ответы [ 4 ]

1 голос
/ 11 декабря 2008

Существует целая (очень полезная) ветка о вещах, которые 2.2 сломались на форумах разработчиков Apple. Это включает эту проблему (хотя без какого-либо исправления). Я видел это упоминалось и в других местах.

Стоит проверить

https://devforums.apple.com/message/12297#12297 (ссылка исправлена)

0 голосов
/ 06 марта 2009

Мне удалось сделать позиционирование вида при использовании UIBarStyleTranslucent одинаковым как в 2.1, так и в 2.2, выполнив следующее:

Установите представление моего viewcontroller для пользовательского представления, которое я создал. Заставьте пользовательское представление расширять UIScrollView и в его методе drawRect нарисуйте черный фон и установите его размер в соответствии с размером представления.

Надеюсь, это поможет =)

0 голосов
/ 23 января 2009

Из вышеуказанной связанной темы:

"Исправлено, когда мои навигационные панели были непрозрачными (раньше они были полупрозрачными). Я думаю, что, возможно, это исправление ошибки, поскольку мне логично, что вид должен отображаться за полупрозрачной панелью."

Так что да, это, кажется, предполагаемое поведение. Имеет смысл, но облом, тем не менее!

0 голосов
/ 11 декабря 2008

Похоже, это новое поведение - это "предполагаемое" поведение, которое имеет смысл.

Просто обидно, что будет сложно заставить мое приложение правильно отображаться в 2.1 и 2.2.

Также кажется, что, если я возьму с настройкой UINavigationBar прозрачный / непрозрачный, я найду некоторую правильную комбинацию ошибок, которая заставит его правильно отображаться в обоих.

Позволит вам узнать мои выводы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...