2014-10-28 27 views

回答

2

在你的PageViewController的代理中添加這個。

- (BOOL)prefersStatusBarHidden 
{ 
    PageContentViewController *controller = self.pageViewController.viewControllers[0]; 
    if (controller.pageIndex == 2) { 
     return NO; 
    } else { 
     return YES; 
    } 
} 

- (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed 
{ 
    if (completed) { 
     PageContentViewController *controller = self.pageViewController.viewControllers[0]; 
     NSUInteger pageIndex = controller.pageIndex; 

     // only update status bar when transition is between page 2 and page 3 
     if (pageIndex == 1 || pageIndex == 2) { 
      [self setNeedsStatusBarAppearanceUpdate]; 
     } 
    } 
} 
+0

由於某些原因,當我嘗試訪問'prefersStatusBarHidden'中的'self.pageViewController.viewControllers'時,它返回nil。任何想法爲什麼? – thisiscrazy4 2014-10-29 01:39:04

+0

首先,您可以對self.pageViewController進行無檢查,如果它爲零,那麼您必須找到您的pageViewController在哪裏,並將該方法放在創建您的pageViewController的控制器中。 – gabbler 2014-10-29 01:47:55

+0

明白了,謝謝! – thisiscrazy4 2014-10-29 01:59:45

相關問題