我正在使用UIPageViewController在应用程序中实现水平滚动,我将导航属性设置为“Horizontal”,将Transistion Style设置为“scroll”。 一切正常,我可以添加一些正确呈现的子视图。我还想利用UIPageViewController内置的UIPageControl,利用这两种方法:
-(NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
-(NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController
这实际上显示了我正在寻找的东西:指示显示哪个子视图的点。 但是,正如您在图像中看到的那样,UIPageControl设置在父视图控制器(UIPageViewController)的底部。您可以想象这不是我想要呈现我的UIPageControl的方式。有没有办法可以操作父视图控制器,以便子视图位于UIPageControl下面?还是有其他好的做法来实现这一目标吗? 我知道我可以通过使用scrollView而不是UIPageViewController来实现水平滚动,但这似乎对我来说效率更高。
http://i48.tinypic.com/2hd03ev.png
为了清晰起见:灰色部分是我的子视图,红色部分是我正在使用的底层UIPageViewController。
提前感谢您的回答!
答案 0 :(得分:4)
一种解决方案是创建和管理您自己的UIPageControl
,而不是使用内置的。{/ p>
如果你创建了自己的几个选项可以在你想要的深度显示它,但是我建议在UIPageViewController
之上创建一个覆盖视图并添加UIPageControl,这样两者就完全了独立。您还可以将页面控件放在任何您想要的位置。
要跟踪网页更改,请实施UIPageViewControllerDelegate
UIPageViewController
并使用UIPageControl
和setCurrentPage
将视图控制器更改转发至setNumberOfPages
。