在Swift 3.0 iOS中隐藏UIPageViewController的状态栏

时间:2016-11-21 12:13:34

标签: ios swift uiviewcontroller uipageviewcontroller uistatusbar

请在将其标记为重复之前阅读该问题。

我知道View ControlleriOS隐藏状态栏存在很多问题。但它们都没有解决我的问题。

我正在使用Swift - 3.0 这是我的情景:

  1. 我可以使用UIViewController计算属性在单个prefersStatusBarHidden上隐藏状态栏。所以没问题。

  2. 我有一个UIPageViewController(DetailPageViewController),其中包含多个UIViewControllers(DetailViewController)作为子控制器。在每个子视图控制器中,我有另一个UIPageViewController(PhotosPageViewController),其中还包含多个UIViewControllers(PhotoViewController)。即,

  3. DetailPageViewController - >多个DetailViewController

    每个DetailViewController - > PhotosPageViewController - >多个PhotoViewController

    所以,问题是我无法隐藏所有4个控制器的状态栏 - DetailPageViewController, DetailViewController, PhotosPageViewController, PhotoViewController

1 个答案:

答案 0 :(得分:0)

您可以为故事板中的状态栏隐藏您初始化的每个视图控制器,只为该母校选择无

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等。在这种情况下,如果你很少,你应该为它们创建这样的文件。

希望这会有所帮助