iOS UIPageViewController 页面控件不同步
Posted
技术标签:
【中文标题】iOS UIPageViewController 页面控件不同步【英文标题】:iOS UIPageViewController page control getting out of sync 【发布时间】:2016-04-08 13:09:20 【问题描述】:每当我滑动页面控制器并同时在与滑动相反的方向点击底部的UIPageControl
时,当前正在显示的页面和pageControl中的页码将不同步。
有没有人遇到过这个奇怪的问题并解决了?
如果您需要任何其他信息,请告诉我。
【问题讨论】:
哇,很棒的发现。我刚刚在我的一个应用程序中验证了类似的东西。在页面控件上滑动会更改页面指示器,但不会更改底层页面。 【参考方案1】:刚刚查看了UIPageControl
的文档。我自己从来没有意识到这一点,但您可以使用页面控件进行输入:
当用户点击页面控件移动到下一页或上一页时, 控件发送 UIControlEventValueChanged 事件以供处理 代表。然后,委托可以评估 currentPage 属性 确定要显示的页面。页面控件只前进一个 任一方向的页面。
我的建议是禁用页面控件或更新您的应用以响应输入。在我的页面控件上将userInteractionEnabled
设置为false
解决了我的问题。
【讨论】:
嗨@Greg,我尝试将页面控件的 userInteractionEnabled 设置为 false。但在我的情况下,当我开始快速来回滚动时,它的行为相同。我尝试在presentationIndexForPageViewController 中返回当前索引,然后再次返回同样的结果。我还尝试更新页面 - (void)pageViewController:(UIPageViewController *)pageViewController didFinishAnimating:(BOOL)finished previousViewControllers:(NSArray *)previousViewControllers transitionCompleted:(BOOL)completed。它工作顺利,但介于两者之间,表现相同。 不确定可能是什么问题。这是我的控制器:github.com/gk-brown/MarkupKit/blob/master/MarkupKitExamples/…currentPage
属性由 UIScrollView
上的类别添加:github.com/gk-brown/MarkupKit/blob/master/MarkupKit/…以上是关于iOS UIPageViewController 页面控件不同步的主要内容,如果未能解决你的问题,请参考以下文章
IOS 如何从其子级访问 uipageviewcontroller?
访问iOS6 UIPageViewController 创建的UIPageControl?
iOS - 这是由 UISegmentedControl 控制的 UIPageViewController,还是这是啥?