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

下拉刷新状态中,切换tabbar到另外一个rootvc,再点击tabbar返回,下拉状态消失了 #1313

Closed
Maxcucurbit opened this issue Jul 2, 2019 · 15 comments

Comments

@Maxcucurbit
Copy link

描述bug
下拉刷新状态中,切换tabbar到另外一个rootvc,再点击tabbar返回,下拉状态消失了

必现/偶发?
必现

怎么样重现这个bug
下拉刷新状态中,切换tabbar到另外一个rootvc,再点击tabbar返回,下拉状态消失

你期望的结果是什么?
继续展示下拉刷新的状态

截图
如果有必要的话,请上传几张截图

运行环境

  • iPhone7Plus
  • iOS12.1
  • Xcode10.2
@Maxcucurbit Maxcucurbit added the bug label Jul 2, 2019
@wolfcon
Copy link
Collaborator

wolfcon commented Jul 3, 2019

#1271, 既然已经切换了 Tab 为什么要保留上一个界面的刷新状态?
后台刷数据即可. 用户前台展现时只需刷新界面即可

@Maxcucurbit
Copy link
Author

#1271
所以说这个是防止其他BUG而在tababr切换时主动结束了刷新吗?

@Huang-Libo
Copy link
Contributor

刷新没有完成,下拉刷新的样式不应该消失吧? @wolfcon

@wolfcon
Copy link
Collaborator

wolfcon commented Jul 3, 2019

@Huang-Libo 有没有想过出了这个VC. 顶部底部的 Inset 会发生变化这件事, 因为在刷新前保存的是老的. 在其他页面 VC 可能控制了顶部栏和底部栏, 这时候如果回来, 就可能发生异常.

@wolfcon
Copy link
Collaborator

wolfcon commented Jul 3, 2019

所以说这个是防止其他BUG而在tababr切换时主动结束了刷新吗?

@Maxcucurbit 是的. 但是你的请求并没有结束, 你可以保存下来数据, 在该界面再次出现时刷新一下界面即可. 或者cancel request

@Maxcucurbit
Copy link
Author

所以说这个是防止其他BUG而在tababr切换时主动结束了刷新吗?

@Maxcucurbit 是的. 但是你的请求并没有结束, 你可以保存下来数据, 在该界面再次出现时刷新一下界面即可. 或者cancel request

好的 谢谢解答!

@Huang-Libo
Copy link
Contributor

@Huang-Libo 有没有想过出了这个VC. 顶部底部的 Inset 会发生变化这件事, 因为在刷新前保存的是老的. 在其他页面 VC 可能控制了顶部栏和底部栏, 这时候如果回来, 就可能发生异常.

目前的改动回避了这个问题,没有解决这个问题,或许我们可以想想如何能直接解决这个问题。

@wolfcon
Copy link
Collaborator

wolfcon commented Jul 3, 2019

欢迎 PR, 理论上界面跳转后, 原页面应该停止它的行为, 后台行为除外

其实可以想想, 用户关心的是刷新状态没了? 还是数据没刷新?

@Huang-Libo
Copy link
Contributor

有个比较直观的问题是,用户会误以为刷新完成了(因为下拉刷新的动画已经结束了)

@CaiChenghan

This comment has been minimized.

@CaiChenghan

This comment has been minimized.

@dong09000
Copy link

导致这个问题的原因是 网络请求 结束的回调 block中,你的结束刷新代码未执行?还是说回调 block直接失效? 我猜测是 block中 关于 self 的操作全部失效导致的?因为 self 此时可能被释放掉了? 这个如果有demo给我看看就好了

@Maxcucurbit
Copy link
Author

束的回调 block中

不用demo 你用最新的MJRefresh版本在TabBar的一个rootVC做下拉刷新,然后切换到其他页面,再回去会发现下拉刷新的状态直接被结束了

@dong09000
Copy link

window的rootVc切换?还是tabbarVc是rootVc切换页卡

@Maxcucurbit
Copy link
Author

window的rootVc切换?还是tabbarVc是rootVc切换页卡
tabbarVc是rootVc切换页卡

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

No branches or pull requests

5 participants