在横向中,我希望UIPageViewController的内容是全屏的,我想隐藏页面指示符。在肖像中,我想显示页面指示符。
我知道实现数据源方法会使页面指示器显示/不显示(参见https://stackoverflow.com/a/20749979/1103584),但正如我之前所说,我希望能够根据方向选择性地隐藏它们。我的应用。
我该怎么做?我之前在其他应用程序中看过它(App Annie中的图表)所以我知道这是可能的。一个答案,你迭代UIPageViewController的子视图,找到一个UIPageControl的实例听起来像一个非常hacky解决方案给我...必须有一个更“官方”的方式来做它。
提前致谢。
答案 0 :(得分:1)
尝试将此添加到您的代码中......
- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration
{
[super willAnimateRotationToInterfaceOrientation:orientation duration:duration];
UIPageControl *pageControl = [UIPageControl appearance];
if (UIInterfaceOrientationIsLandscape(orientation))
{
pageControl.alpha = 0;
}
else if (UIInterfaceOrientationIsPortrait(orientation))
{
pageControl.alpha = 1;
}
}
答案 1 :(得分:1)
目前,在调用setViewControllers:direction:animated:completion:方法之后,无法更改UIPageViewController页面指示器的默认行为。希望在将来的更新中添加一种隐藏导航栏的类似方法。