iPhone: фон, кажется, вырезан из-под полупрозрачной строки состояния только в некоторых вкладках - PullRequest
0 голосов
/ 22 июля 2011

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

Мое приложение основано на панели вкладок и имеет UITabBarController, который создается с помощью основного пера (MainWindow.xib). Каждая вкладка ссылается на UINavigationController, снова созданный через основной перо (MainWindow.xib), и каждый UINavigationController также имеет корневой контроллер представления, созданный в перо. Каждый из этих UIViewControllers - это пользовательский VC, который имеет собственный кончик, определение класса и т. Д.

Приложение настроено (в списке приложений) на наличие полупрозрачной строки состояния. Это работает. Строка состояния является полупрозрачной. Все первые 4 вкладки имеют пользовательское фоновое изображение (в настоящее время 2 изображения, созданные на лету, а вторая представляет собой наложение с <1 альфа - в конечном итоге будет заменено одним составным изображением после завершения разработки) в отдельном виртуальном канале и последний использует стандартный цвет фона, выбранный в его отдельном кончике. </p>

Полупрозрачная строка состояния должна перекрывать фоновое изображение, так как каждое изображение в настоящее время установлено в полноразмерном формате и верхнее левое начало (320w x 480h - в конечном итоге будет заменено на то, которое вырезает панель вкладок внизу для эффективности и происхождения 0,0). Тем не менее, это происходит только на первой вкладке и на вкладке, в которой используется цвет фона / рисунок, заданный пером.

Помимо первоначальной настройки rootViewController в делегате приложения завершил метод запуска,

[[self window] setRootViewController:[self tabBarController]];

нет кода макета в любом из VC. Это все определено в перьях. (Да, я старая школа)

Вот два, которые работают: correct tab 1

correct settings tab

На первом изображении вы можете видеть, что «белый» контур фонового изображения продолжается вдоль сторон и поперек верхней части строки состояния. На втором вы можете видеть, что фоновые полосы продолжаются в строке состояния.

Вот одна из трех вкладок, на которых это не работает: no working tab status bar

Вы можете видеть, что у него нет белого, поднимающегося в строку состояния и через верх. Вместо полупрозрачного черного на синем это просто черный.

Вот снимки с IB, показывающие, что все они настроены одинаково

Контроллер панели вкладок корня:

root tab bar objects root tab bar settings

Первая вкладка Navigation Controller и viewcontroller (которая работает правильно): tab bar 1 nav objects tab bar 1 nav settings tab bar 1 vc objects tab bar 1 vc settings vc tab bar 1 objects vc tab bar 1 settings

Вторая вкладка Navigation Controller и viewcontroller (которая работает некорректно): tab bar 2 nav objects tab bar 2 nav settings tab bar 2 vc objects tab bar 2 vc settings vc tab bar 2 objects vc tab bar 2 settings

Я исследовал это и пробовал разные вещи уже несколько дней, и не знаю, что попробовать дальше. Кажется, что все настроено одинаково, и в методах контроллеров представления viewDidLoad или viewWillAppear: нет кода разметки или изменения вида.

Если что-то явно не так (или не так очевидно), я был бы признателен за указатель. Насколько я могу сказать, это должно работать

...