Как сделать NavigationBar и StatusBar одинаковым фоном в iOS 7?

Я использую Xcode 5, чтобы создать главный проект детали. Панель навигации по умолчанию выглядит следующим образом:

Теперь я создаю новый файл UIViewContrller и его файл xib:

Я добавляю NavigationBar к представлению и устанавливаю зеленый цвет фона, но область строки состояния находится на панели навигации. Как настроить ее как отображение панели навигации MasterController?

1 ответ

У вас есть 2 варианта.

  1. Либо создайте UINavigationViewController и установите, чтобы у вашего ViewController был rootViewController этого UINavigationViewController (он автоматически создаст панель навигации с соответствующим цветом строки состояния поверх него),

  2. ИЛИ вы можете сохранить панель навигации, установить ее начало 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];
}
Другие вопросы по тегам