|
Май
23
|
Status bar или панель состояния представляет собой небольшой прямоугольник (320 x 20 пикселей) в верхней части экрана, где выводится название мобильного оператора, индикаторы силы сигнала, времени и батареи.
![]()
При разработке приложений-утилит панель крайне полезна, но, начав программировать, я задался целью ее скрыть.
При создании представления в редакторе IB на вкладке атрибутов можно указать для “Status Bar” опцию “None“, но она никуда не денется. Настройки свойств “Status Bar” для файла “MainWindow.xib” тоже ничего не дают.
Хотите избавиться от панели состояния? Делайте это через Xcode. Достаточно всего одной строки:
1 | [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; |
И панель исчезает! Если предпочитаете альфа-переход, укажите “animated:YES“. Если для приложения панель вообще не нужна, необходимо отредактировать реализацию файла “AppDelegate” (“[project_name]AppDelegate.m”) перед добавлением в окно объектов “subview“. Например, так:
1 2 3 4 5 6 | - (void)applicationDidFinishLaunching:(UIApplication *)application { MyView *viewController = [[MyView alloc] initWithNibName:@"MyView" bundle:[NSBundle mainBundle]]; [window addSubview:[viewController view]]; // Переписываем точку настройки после запуска приложения [window makeKeyAndVisible]; } |
Стили панели состояния.
![]()
![]()
По умолчанию для панели выбран серый цвет (как в приведенном выше примере). Можно легко сделать ее такой, как в Springboard (черной) или как во время воспроизведения видео с YouTube (прозрачной черной).
1 2 3 | [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque animated:YES]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackTranslucent animated:YES]; [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault animated:YES]; |
По желанию для панели настраиваются переход или его отсутствие — с помощью анимированного булева (boolean) свойства.
Расположение.
Автовращению панели посвящена отдельная статья, здесь же кратко упомяну о несложной смене ее расположения:
1 2 3 4 | [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeLeft animated:YES]; [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationLandscapeRight animated:YES]; [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortrait animated:YES]; [[UIApplication sharedApplication] setStatusBarOrientation:UIInterfaceOrientationPortraitUpsideDown animated:YES]; |
Обратите внимание: при смене расположения панели состояния в симуляторе iPhone Simulator режим автоматически меняется на книжный/альбомный, а ориентация интерфейса остается прежней. Как с этим бороться, расскажу в одном из следующих уроков.
Вот и все. Для закрепления попробуйте реализовать вот такой проект:
Комментируем и оцениваем.


Последние комментарии
Подскажите пожалуйста… Вот...
Код не открывает страницы по простой причине -...