我在导航栏上显示pageviewcontroller
的页面编号作为标题。当技术上翻页时,应在导航栏上更新当前页面编号。
在我的情况下,它正在更新当前页面编号,但页面编号在导航栏上显示为标题,它现在显示在更新后的backbuttonitem顶部。这是为什么。我无法理解这一点。
截至目前我没有在我的导航栏上编程任何后退项目,那么为什么导航栏的标题实际上是pageviewcontroller
的页面编号显示为后退按钮项目
这就是我在navbar
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerBeforeViewController:(UIViewController *)viewController
{
contentViewController = [[ContentViewController alloc] initWithPDF:PDFDocument];
currentIndex = [modelArray indexOfObject:[(ContentViewController *)viewController page]];
if (currentIndex == 0)
{
return nil;
}
contentViewController.page = [modelArray objectAtIndex:currentIndex - 1];
_navBar.topItem.title = [NSString stringWithFormat:@"Page %u of %u", currentIndex - 1, CGPDFDocumentGetNumberOfPages(PDFDocument)];
[_navBar pushNavigationItem:_navBar.topItem animated:NO];
return contentViewController;
}
- (UIViewController *)pageViewController:(UIPageViewController *)pageViewController
viewControllerAfterViewController:(UIViewController *)viewController
{
contentViewController = [[ContentViewController alloc] initWithPDF:PDFDocument];
//get the current page
currentIndex = [modelArray indexOfObject:[(ContentViewController *)viewController page]];
if (currentIndex == totalPages - 1) {
return nil;
}
contentViewController.page = [modelArray objectAtIndex:currentIndex + 1];
_navBar.topItem.title = [NSString stringWithFormat:@"Page %u of %u", currentIndex + 1, CGPDFDocumentGetNumberOfPages(PDFDocument)];
[_navBar pushNavigationItem:_navBar.topItem animated:NO];
return contentViewController;
}
如果有人能让我理解为什么会这样。为什么它没有显示为标题,因为我已经编码为什么它被转换为backbuttonitem。
感谢您的帮助。
答案 0 :(得分:1)
这是iOS的默认行为,在导航视图控制器中,当视图控制器被推到视图控制器上时,前一个VC的标题在后退按钮中显示为按钮的文本。如果你不想要为了表明这一点,你可以隐藏导航栏的后退按钮项。