Как сделать NavigationBar и StatusBar одинаковым фоном в iOS 7?
Я использую Xcode 5, чтобы создать главный проект детали. Панель навигации по умолчанию выглядит следующим образом:
Теперь я создаю новый файл UIViewContrller и его файл xib:
Я добавляю NavigationBar к представлению и устанавливаю зеленый цвет фона, но область строки состояния находится на панели навигации. Как настроить ее как отображение панели навигации MasterController?
1 ответ
У вас есть 2 варианта.
Либо создайте UINavigationViewController и установите, чтобы у вашего ViewController был rootViewController этого UINavigationViewController (он автоматически создаст панель навигации с соответствующим цветом строки состояния поверх него),
ИЛИ вы можете сохранить панель навигации, установить ее начало Y на 20 и сделать следующее:
В файле.h:
@interface XYZViewController : UIViewController <UIBarPositioningDelegate>
И в файле.m:
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationBar.delegate = self;
}
- (UIBarPosition)positionForBar:(id<UIBarPositioning>)bar {
return UIBarPositionTopAttached;
}
РЕДАКТИРОВАТЬ: Как изменить размер панели в ландшафтном режиме телефона:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self.navigationBar sizeToFit];
}