2014-10-28 89 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