Это продолжение от исходной задачи . Часть первоначальной проблемы была решена, и с новым пониманием я хотел иметь возможность переформулировать проблему, которая все еще существует, признать проблему, которая была решена, и предоставить больше информации о ней и дать лучшее название, благодаря новому пониманию.
Мое приложение основано на панели вкладок и имеет 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. Это все определено в перьях. (Да, я старая школа)
Вот два, которые работают:
На первом изображении вы можете видеть, что «белый» контур фонового изображения продолжается вдоль сторон и поперек верхней части строки состояния. На втором вы можете видеть, что фоновые полосы продолжаются в строке состояния.
Вот одна из трех вкладок, на которых это не работает:
Вы можете видеть, что у него нет белого, поднимающегося в строку состояния и через верх. Вместо полупрозрачного черного на синем это просто черный.
Вот снимки с IB, показывающие, что все они настроены одинаково
Контроллер панели вкладок корня:
Первая вкладка Navigation Controller и viewcontroller (которая работает правильно):
Вторая вкладка Navigation Controller и viewcontroller (которая работает некорректно):
Я исследовал это и пробовал разные вещи уже несколько дней, и не знаю, что попробовать дальше. Кажется, что все настроено одинаково, и в методах контроллеров представления viewDidLoad
или viewWillAppear:
нет кода разметки или изменения вида.
Если что-то явно не так (или не так очевидно), я был бы признателен за указатель. Насколько я могу сказать, это должно работать