【问题标题】:Is there any way that I can manipulate the parent view controller so that the subviews will be underneath the UIPageControl?有什么方法可以操纵父视图控制器,以便子视图位于 UIPageControl 下方?
【发布时间】:2013-02-20 14:58:56
【问题描述】:

我通过使用 UIPageViewController 在应用程序中实现水平滚动,我将导航属性设置为“水平”,将过渡样式设置为“滚动”。 一切正常,我可以添加一些正确呈现的子视图。我还想通过使用这两种方法来利用 UIPageViewController 内置的 UIPageControl:

-(NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController
-(NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController

这实际上显示了我正在寻找的内容:指示显示哪个子视图的点。 但是,正如您在图像中看到的那样,UIPageControl 设置在父视图控制器(UIPageViewController)的底部。你可以想象这不是我展示我的 UIPageControl 的方式。有什么方法可以操纵父视图控制器,以便子视图位于 UIPageControl 下方?或者有没有其他好的做法来实现这一点? 我知道我可以通过使用 scrollView 而不是 UIPageViewController 来实现水平滚动,但这对我来说似乎更有效率。

http://i48.tinypic.com/2hd03ev.png

为了清楚起见:灰色部分是我的子视图,红色部分是我正在使用的底层 UIPageViewController。

提前感谢您的任何回答!

【问题讨论】:

    标签: objective-c uipagecontrol uipageviewcontroller layoutsubviews


    【解决方案1】:

    一种解决方案是创建和管理您自己的UIPageControl,而不是使用内置的。

    如果您创建了自己的几个选项,可以在您想要的深度显示它,但我建议您在 UIPageViewController 之上创建一个覆盖视图并将 UIPageControl 添加到其中,这样两者就完全独立了。您还可以将页面控件放置在您想要的任何位置。

    要跟踪页面更改,请实现 UIPageViewControllerUIPageViewControllerDelegate 并使用 setCurrentPagesetNumberOfPages 将视图控制器更改转发到您的 UIPageControl

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 2021-12-25
      • 1970-01-01
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2020-06-12
      • 2011-12-23
      相关资源
      最近更新 更多