Advertisement

RN下拉刷新(二):优化RN代码,并整合iOS原生下拉刷新功能

阅读量:

在此前的开发过程中,我已采用JavaScript完成了下拉刷新功能的实现,具体可参考RN下拉刷新(一):使用JavaScript实现,然而仍存在一个尚未解决的问题,本文将针对该问题进行探讨与处理。

基于JavaScript开发的下拉刷新功能,在用户对列表先上滑再下滑的操作下会出现无法触发下拉刷新的情况,必须在松开手指后再次进行滑动操作才能恢复正常。起初我打算接受这一限制,毕竟已经成功实现了下拉刷新功能。但有经验的开发者认为此问题仍需解决,因此最终决定通过调整React Native(RN)源代码的方式,集成原生的下拉刷新机制。原生的下拉刷新组件是基于MJRefreshHeader进行继承实现的,其修改过程较为简单,涉及改动的部分也相对较少。

React Native的相关源代码存储路径为 /项目目录/RN/node_modules/react-native/React/Views 文件夹内。

具体的实施流程如下:

  1. 在自定义的下拉刷新控件中引入头文件 #import “RCTScrollableProtocol.h”,随后实现 RCTCustomRefreshContolProtocol 协议,并新增相关属性:
复制代码
    @property (nonatomic, copy) RCTDirectEventBlock onR

全部评论 (0)

还没有任何评论哟~