ios - 使用 UIScrollView 分页拉动刷新

标签 ios uiscrollview refresh scrollview tableview

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

有没有一种方法可以让我以直观的方式解决这个问题?

最佳答案

今天遇到了同样的问题,找到了解决方案:

原因是 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/

相关文章:

ios - 当我在 TextField 中点击时不显示键盘

ios - 内容偏移量保持不变

ios - 启用分页和缩放的 UIScrollView 图像/照片查看器

android - 从内部重新加载 fragment

javascript - 图像重新加载仅在 Firefox 中导致闪烁

iphone - 制作音频捕获器和音频播放器ios

iphone - 从另一个应用程序(如电子邮件/网络浏览器)启动 iPad 应用程序

iphone - 如何在不显示邮件编辑器 View 的情况下发送邮件

ios - 设置 UIScrollView。如果在 viewDidLayoutSubviews 中调用 UIImageView 图像会失真。包括图像

android - 如何在 GridView 的适配器内刷新 imageView