ios – 获取UIPageViewController的滚动位置

ios – 获取UIPageViewController的滚动位置,第1张

概述我正在使用UIPageViewController,我需要在用户刷卡时获取ViewController的滚动位置,所以当视图转换到下一个UIViewController时,我可以部分淡出一些资源. UIPageViewController的代理和数据源方法似乎没有提供任何访问权限,在内部我假设UIPageViewController必须在某处使用滚动视图,但它似乎没有直接子类化,所以我不是能打电话 我正在使用UIPageVIEwController,我需要在用户刷卡时获取VIEwController的滚动位置,所以当视图转换到下一个UIVIEwController时,我可以部分淡出一些资源.

UIPageVIEwController的代理和数据源方法似乎没有提供任何访问权限,在内部我假设UIPageVIEwController必须在某处使用滚动视图,但它似乎没有直接子类化,所以我不是能打电话

func scrollVIEwDIDScroll(scrollVIEw: UIScrollVIEw) {}

我已经看到一些其他帖子的建议,以获取对pageVIEwController!.vIEw.subvIEws的引用,然后第一个索引是一个scrollVIEw,但这似乎非常黑客.我想知道是否有更标准的方法来处理这个问题.

解决方法 您可以在UIPageVIEwController内搜索UIScrollVIEw.为此,您必须实现uiscrollviewdelegate.

之后你可以得到你的scrollVIEw:

for v in pageVIEwController.vIEw.subvIEws{    if v.isKindOfClass(UIScrollVIEw){        (v as UIScrollVIEw).delegate = self    }}

之后,您可以使用所有的uiscrollviewdelegate方法,因此您可以覆盖scrollVIEwDIDScroll方法,您可以在其中获取scrollposition:

func scrollVIEwDIDScroll(scrollVIEw: UIScrollVIEw) {   //your Code}

或者如果你想要一个单行:

let scrollVIEw = vIEw.subvIEws.filter {  is UIScrollVIEw }.first as! UIScrollVIEwscrollVIEw.delegate = self
总结

以上是内存溢出为你收集整理的ios – 获取UIPageViewController的滚动位置全部内容,希望文章能够帮你解决ios – 获取UIPageViewController的滚动位置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1097160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存