我希望有4个视图,用户可以向左或向右滑动。 为此,我计划使用UIPageViewController。
有一点很特别的是,最后一个视图根本不应该有页面指示符。我想用最后一个之前的视图将它滑开。这可以用UIPageViewController吗?
以下是移动到最后一个视图的滑动图片:
答案 0 :(得分:0)
我认为用UIPageViewController
实现你所说的话是不可能的。因为您现在无法获取当前视图移动的值。
要获得该值,您可以自定义UIScrollView
并在委托方法- scrollViewDidScroll:
中自行设置页面指示器的动画
答案 1 :(得分:0)
根据您所使用的页面,有条件地显示页面控件没有内置支持。
UIPageViewController
查询其UIPageViewControllerDataSource
,您可以尝试在转换到最后一个视图控制器时从presentationCountForPageViewController:
返回0,但它永远不会是一个好的解决方案,当你试图规避控制器内部为你管理的东西时。您可以使用UIAppearance
更改UIPageControl
的颜色。
这可用于仅为特定视图控制器应用样式,如下所示:
UIPageControl *pageControl = [UIPageControl appearanceWhenContainedIn:[LastViewController class], nil];
pageControl.pageIndicatorTintColor = [UIColor clearColor];
pageControl.currentPageIndicatorTintColor = [UIColor clearColor];
pageControl.backgroundColor = [UIColor clearColor];
然而,这不会将其从视图中移除,并且页面控件的手势仍然有效。