0

Пожалуйста, прочитайте вопрос, прежде чем отмечать его как дубликат.Скрытие строки состояния UIPageViewController в Swift 3.0 iOS

Я знаю, что есть много вопросов, касающихся Скрытие строки состояния в виде View Controller в iOS. Но никто из них не решает мою проблему.

Я использую Swift - 3.0 Вот мой сценарий:

  1. Я могу скрыть строку состояния на одном UIViewController с использованием prefersStatusBarHidden вычисленного свойства. Так что никаких проблем с этим.

  2. У меня есть UIPageViewController(DetailPageViewController), который содержит несколько UIViewControllers(DetailViewController) в качестве дочерних контроллеров. В каждом из этих контроллеров детского вида у меня есть еще UIPageViewController(PhotosPageViewController), который также содержит несколько UIViewControllers(PhotoViewController). т.е.

DetailPageViewController -> множественный DetailViewController

каждого DetailViewController -> PhotosPageViewController -> множественного PhotoViewController

Итак, проблема в том, что я не в состоянии скрыть статус бар всех 4 контроллеров - DetailPageViewController, DetailViewController, PhotosPageViewController, PhotoViewController

+0

Я не sure.but, вы должны смотреть на 'вара childViewControllerForStatusBarHidden: UIViewController? {get} 'для достижения этой функции. Для получения дополнительной информации https://developer.apple.com/reference/uikit/uiviewcontroller/1621440-prefersstatusbarhidden – Joe

+0

Я уже пробовал это ... но не повезло. – PGDev

+0

i wondering.how, у многих VC есть статусBar в вашем проекте или только в mainVC? – Joe

ответ

0

Вы можете либо скрыть строку состояния из раскадровки для eac вид ч контроллер вы не ИНИЦИАЛИЗИРУЙТЕ просто выбрали ни для этого матер

enter image description here enter image description here

или вы можете создать BaseViewController и сделать это программно и подкласс контроллера от BaseViewController

BaseViewController: UIViewController { 
    override var prefersStatusBarHidden: Bool { 
     return true 
    } 
} 

DetailViewController: BaseViewController { 
    // your codes goes here 
} 

Остерегайтесь, что если вы используете этот метод, он будет работать только на контроллерах, которые наследуются от UIViewController, а не UITableViewController или таких. В этом случае вы должны создать для них такой файл, если у вас их мало.

Надеется, что это поможет

 Смежные вопросы

  • Нет связанных вопросов^_^