Если я правильно понял ваш вопрос (извинения, если у меня его нет), вы хотите расширить фоновое изображение навигации, чтобы он находился за панель состояния тоже.
Вы можете попробовать этот код:
[self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@"nav_bar.png"] forBarMetrics:UIBarMetricsDefault];
для того, чтобы nav_bar.png изображение, чтобы быть за строкой состояния тоже нужно добавить 20px в высоту изображения. Высота панели навигации составляет 44 пикселя.
В основном, nav_bar.png должна быть ширина 320 пикселей и высота объявления 64 пикселя. Затем он будет за панель состояния.
Я бы посоветовал, что с iOS 7 вы не используете кричащую графику (как сказал Янчи) и просто используйте простой цвет. Либо выбрать тот, в белом или черном цвете по умолчанию, или использовать следующий код для изменения цветового оттенка Nav Bar:
self.navigationController.navigationBar.barTintColor = [UIColor #Choose a colour#];
Вы заменяете # выбрать цвет # с UIColor, такими как blueColor или redColor. Вы также можете программно установить прозрачность на YES.
self.navigationController.navigationBar.translucent = YES;
Чтобы ответить на ваш последний вопрос о том, можно ли сделать полупрозрачным Nav Bar, как сказал Янчи, вы будете только в состоянии изменить альфа фактического изображения. Если вам нужен эффект размытия (стиль iOS 7), он не работает. Я пробовал, и, похоже, нет способа. Он работает только с сплошными цветами (с использованием кода UIColor, о котором я упоминал).
Надеюсь, что это поможет.
Я не уверен, что он будет работать достаточно хорошо. Если бы я был вами, я бы попытался поиграть с альфой вашего изображения, однако из того, что я видел, дизайн ios7 должен быть как можно более легким (так что никакой пользовательской кричащей графики в навигационных барах) – Yanchi