Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PullView&&PullList解决下拉顶部偶尔出现空白 #45

Open
wuyunqiang opened this issue Oct 30, 2017 · 6 comments
Open

PullView&&PullList解决下拉顶部偶尔出现空白 #45

wuyunqiang opened this issue Oct 30, 2017 · 6 comments

Comments

@wuyunqiang
Copy link

wuyunqiang commented Oct 30, 2017

这个问题主要是出现在iOS上,因为iOS的scrollview是有弹性的Android没有,
个人的解决办法是在判断是否拦截上拉事件时返回false,不拦截。这样上拉还是交给scrollview自己处理,希望可以解决问题,如果不能希望对帮助你解决问题提供一个思路。
代码:

   onShouldSetPanResponder(e, gesture) {
        //向上滑动不拦截 防止上方出现白色部分
        if (!this.pullable || isUpGesture(gesture.dx, gesture.dy)|| !isVerticalGesture(gesture.dx, gesture.dy)) { //不使用pullable,或非向上 或向下手势不响应
            return false;
        }
        if (!this.state.scrollEnabled) {
            this.lastY = this.state.pullPan.y._value;
            return true;
        } else {
            return false;
        }
    }

如果发现不能向上滑动可以把scrollview或者listview里面的
scrollEnabled={this.state.scrollEnabled}这个代码去掉。
目前我用着至少比以前好了。

@wuyunqiang wuyunqiang changed the title PullView下拉顶部偶尔出现空白 PullView&&PullList解决下拉顶部偶尔出现空白 Oct 30, 2017
@wuyunqiang
Copy link
Author

使用flatlist&&Scrollview
上拉下拉没有空白
修改的作者代码https://github.com/wuyunqiang/PullView

@iamdurui
Copy link

@wuyunqiang 使用了你这种方式之后再ios还是有问题,下拉狠了有留白啊,怎么解决啊?

@wuyunqiang
Copy link
Author

不知道你是使用的我的代码 还是使用的作者的然后自己修改的 你是用的scrollview还是flatlist 我使用改过后的没有遇到你说的问题啊。如果实在不行 那就只能换个库或者尝试将iOS的弹性属性设置false看看行不行吧。

@104gogo
Copy link

104gogo commented Jan 4, 2018

PanResponder不管上滑手势之后,体检就好多了
但是不太明白为什么作者要自己处理上滑的情况,然后在处理中,添加了下面的代码

// 上滑的同时控制滚动条位置
this.scroll.scrollTo({x:0, y: gesture.dy * -1});

这个时候,上滑就感觉到卡顿。

@zengyimou
Copy link

@104gogo 怎么不管上滑手势? 我也想优化这一点

@104gogo
Copy link

104gogo commented Jul 28, 2018

@zengyimou 太久以前写的了,感觉应该是下面这段代码,使用 isVerticalGesture 方法进行了判断

onShouldSetPanResponder(e, gesture) {
    if (!this.pullable || isUpGesture(gesture.dx, gesture.dy) || !isVerticalGesture(gesture.dx, gesture.dy)) { //不使用pullable,或非向上 或向下手势不响应
        return false;
    }
    ...
  }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants