• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 使用 UIScrollView 分页拉动刷新

[复制链接]
菜鸟教程小白 发表于 2022-12-12 15:18:35 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

在我的应用程序中,我有一个 ScrollView ,用户可以使用拉动刷新来更新,使用基于 EGORefreshTableHeaderView 的拉动刷新的自定义实现。它在没有分页的情况下完美地工作,但是由于可以理解的原因, ScrollView 会弹回页面并且不会保持锁定在拉动刷新上,因为它太小了它不会注册为一个可以滚动的页面.

有没有一种方法可以让我以一种感觉和看起来直观的方式解决这个问题?



Best Answer-推荐答案


今天遇到同样的问题,找到了解决办法:

原因是 contentOffset 与您的分页不匹配,因为加载 View 的大小与您的页面大小不同,因此 ScrollView 功能会检测到并滚动到当前页面。

对我来说,最好的办法是在触发 pulltorefresh 时禁用分页(在使用 ScrollView 的 contentOffset 的函数之前),如果在 ScrollView 上启用了分页,则在刷新后恢复它

这是我对我使用的库所做的更改的示例

switch (newState) {
    case SVPullToRefreshStateAll:
    case SVPullToRefreshStateStopped:
        [self resetScrollViewContentInset];
        if (self.isPaginationEnabled) {
            self.scrollView.pagingEnabled = YES;
        }
        break;

    case SVPullToRefreshStateTriggered:
        if (self.scrollView.pagingEnabled) {
            self.isPaginationEnabled = YES;
            self.scrollView.pagingEnabled = NO;
        }
        break;

    case SVPullToRefreshStateLoading:
        [self setScrollViewContentInsetForLoading];

        if(previousState == SVPullToRefreshStateTriggered && pullToRefreshActionHandler)
            pullToRefreshActionHandler();

        break;
}

关于ios - 使用 UIScrollView 分页拉动刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19193999/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap