Вам потрібно замінити цей метод на кожному контролері перегляду, якщо у вас немає цього запису plist.
Завдання-C
-(BOOL)prefersStatusBarHidden{
return YES;
}
Стрімкий 2
override func prefersStatusBarHidden() -> Bool {
return true
}
Свіфт 3+
override var prefersStatusBarHidden: Bool {
return true
}
І не забудьте встановити (якщо ви представляєте контролер подання, викликавши presentViewController: animated: complete: method):
Завдання-C
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = YES;
Стрімкий
vcToBeShownWithoutStatusbar.modalPresentationCapturesStatusBarAppearance = true
Документація: https://developer.apple.com/reference/uikit/uiviewcontroller/1621453-modalpresentationcapturesstatusb
Якщо ви змінюєте рядок стану з якогось контролера перегляду контейнера (наприклад, UINavigationController
або UIViewController
з контролерами дочірнього перегляду), і ви хочете змінити контролер перегляду, відповідальний за рядок стану, ви повинні використовувати childViewControllerForStatusBarHidden:
властивість. Наприклад:
Встановіть перший екземпляр контролера подання, завжди відповідальний за управління рядком стану
Завдання-C
- (UIViewController *)childViewControllerForStatusBarHidden {
return childViewControllers.first;
}
Стрімкий 2
override var childViewControllerForStatusBarHidden() -> UIViewController? {
return childViewControllers.first
}
Свіфт 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return childViewControllers.first
}
Встановіть контролер подання контейнера, відповідальний за управління рядком стану
Завдання-C
- (UIViewController *)childViewControllerForStatusBarHidden {
return nil;
}
Стрімкий 2
override func childViewControllerForStatusBarHidden() -> UIViewController? {
return nil
}
Свіфт 3+
override var childViewControllerForStatusBarHidden: UIViewController? {
return nil
}
Документація:
https://developer.apple.com/documentation/uikit/uiviewcontroller/1621451-childviewcontrollerforstatusbarh