2015-04-06 2 views
0

У меня возникли проблемы с попыткой отобразить панель навигации в моем приложении. У меня есть UIPageViewController, созданный в UIViewController как так:Не показывать панель навигации после появления UIPageViewController

//Hide the bar 
self.navigationController.navigationBar.hidden=YES; 

// Create page view controller 
    self.pageViewController = [[UIPageViewController alloc] initWithTransitionStyle:UIPageViewControllerTransitionStyleScroll navigationOrientation:UIPageViewControllerNavigationOrientationHorizontal options:nil]; 
    self.pageViewController.dataSource = self; 


    UIPageControl *pageControl = [UIPageControl appearance]; 
    pageControl.pageIndicatorTintColor = [UIColor lightGrayColor]; 
    pageControl.currentPageIndicatorTintColor = [UIColor colorWithRed:229/255.0 green:145/255.0 blue:217/255.0 alpha:1]; 
    pageControl.backgroundColor = [UIColor whiteColor]; 



    //Call our helper method 
    StickerContentViewController *startingViewController = [self viewControllerAtIndex:0]; 
    //Need to pass the first one, don't put them all in here 
    NSArray *viewControllers = @[startingViewController]; 
    [self.pageViewController setViewControllers:viewControllers direction:UIPageViewControllerNavigationDirectionForward animated:NO completion:nil]; 


    self.pageViewController.view.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height); 

    //setup 
    [self addChildViewController:_pageViewController]; 
    [self.view addSubview:_pageViewController.view]; 
    [self.pageViewController didMoveToParentViewController:self]; 

Когда я поп UIViewController (тот, содержащий UIPageViewController) с помощью [self.navigationController popViewControllerAnimated:YES]; я не могу получить навигационную панель, чтобы отобразить на предыдущий экран. Я попытался поставить self.navigationController.navigationBarHidden=NO; в viewWillDisappear, viewDidDissappear. Я также попытался поместить его в контроллер содержимого, но все равно не повезло. Может ли кто-нибудь дать мне указатель на то, что я могу делать неправильно, пожалуйста?

+0

Попробуйте настроить навигационную панель скрытой = НЕТ на предыдущем экране ViewWIillAppear. –

+0

Пробовал, что. Не повезло. Мой обычный шаблон для скрытия и скрытия скрывает панель в методе viewDidLoad, а затем отображает вид viewWillDisappear. UIPageViewController, кажется, запутывает его, хотя .. – Kex

+0

viewWillAppear вызывается каждый раз, когда вы загружаете viewcontroller, поэтому попробуйте включить этот метод –

ответ

0

Исправлено это, только сообщение в случае, если у кого-то есть проблема. Я использовал self.navigationController.navigationBar.hidden=YES;, когда я должен был использовать self.navigationController.navigationBarHidden=YES;. Не знаете, в чем разница. В любом случае я скрою панель в viewDidLoad и покажу ее в viewWillDisappear, и теперь она работает. спасибо ребятам