文章来源:淘论文网   发布者: 毕业设计   浏览量: 22



还可以点击去查询以下关键词:
[自由选择]    [动画]    [样式]    [毕业]    [第三方]    [下拉]    [刷新]    [9种自由选择动画样式毕业的第三方上下拉刷新库]   

项目介绍:




概述

高度可扩展、自定义、多样式的刷新框架。

比较   EGOTableViewPullRefresh   SVPullToRefresh   MJRefresh    
多种样式选择   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>  
刷新中允许交互   <img width='20px' height='20px' src='Assets/bug.png'>   <img width='20px' height='20px' src='Assets/bug.png'>   <img width='20px' height='23px' src='Assets/bug.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>  
持续维护   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>  
进度回调   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='23px' src='Assets/unsupport.png'></img>   <img width='20px' height='20px' src='Assets/support.png'></img>  
特点 特点   描述  
支持多样式选择与自定义   KafkaRefresh内置多种刷新样式,且可对样式进行自定义。扩展接口可让开发者集成更多丰富的UI效果。  
非刷新状态自动隐藏   能避免开发者手动调整contentInset后刷新控件的出现而影响视觉体验;最常见的情况时,不存在数据时,底部的刷新的控件未隐藏,使用KafkaRefresh能避免该问题。  
刷新结束时滑动抗抖动   当控件结束刷新,UIScrollView如果处于滑动状态,KafkaRefresh将根据刷新控件此时是否显示控制UIScrollView的contntOffset  
支持抗内容偏移的滚动刷新   当会员滑动列表时,KafkaRefresh不会擅自调整列表的cntentOffset,KafkaRefresh不管处于何种刷新状态,都不会过多的调整列表位置。因此,您的列表集成KafkaRefresh后,滑动依旧是预期效果  
支持设置触发刷新的偏移阀值   偏移阀值可自定义,自我把控触发刷新的条件;偏移阀值是基于控件高度的倍数,且必须大于1.0;否则无效。  
支持全局配置   KafkaRefreshDefaults支持全局设置样式  
支持进度回调   实时回调拖拽的偏移比例,对于扩展接口,开题报告,可根据进度调整动画  
自适应contentInset系统调整与手动调整   自适应iOS7以后UINavigationController自动调整scrollview contentOffset,KafkaRefresh也对iOS 11进行了适配;当您手动设置了contentInset的值,也无需担心KafkaRefresh会影响到视觉效果。  
解决刷新状态分组视图悬停问题   当UITableView优多个分组,且分组视图的高度非0时,刷新状态将出现半空悬停的效果。从EGO以来,尝试解决该问题的刷新框架始于MJRefresh,但可惜的是,MJRefresh并未完美解决该问题(本质是因为contentOffset并非连续变化)。KafkaRefresh即使在刷新状态快速滑动,开题报告,也能避开该问题的出现。  
文档覆盖率100%   可在头文件中查看所有方法和类的使用  
支持横竖屏切换自适应   无需在横竖屏切换时考虑刷新问题  
iOS 7+   支持iOS 7以上系统。包括iPhone X  
安装

CocoaPods

pod 'KafkaRefresh'

Carthage

如果您想通过carthage安装 , 请您申请一个pull request.

使用1.引入头文件 #import 'KafkaRefresh.h' 2.初始化控件

#p#分页标题#e#

方式一

[self.tableView bindRefreshStyle:KafkaRefreshStyleAnimatableArrow fillColor:MainColor atPosition:KafkaRefreshPositionHeader refreshHanler:^{ //....... }]; [self.tableView bindRefreshStyle:KafkaRefreshStyleAnimatableArrow fillColor:MinorColor atPosition:KafkaRefreshPositionFooter refreshHanler:^{ //..... }];

方式二

KafkaArrowHeader * arrow = [[KafkaArrowHeader alloc] init]; arrow.refreshHandler = ^{ //..... }; self.tableView.headRefreshControl = arrow;

方式三 全局配置

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[KafkaRefreshDefaults standardRefreshDefaults] setHeaderDefaultStyle:KafkaRefreshStyleAnimatableRing]; return YES; } [self.tableView bindDefaultRefreshStyleAtPosition:KafkaRefreshPositionHeader refreshHanler:^{ //..... }]; 3.手动触发刷新 [self.tableView.headRefreshControl beginRefreshing]; [self.tableView.footRefreshControl beginRefreshing];4.结束刷新 [self.tableView.headRefreshControl endRefreshing]; [self.tableView.footRefreshControl endRefreshing];自定义

以KafkaheadRefreshControl为例:

#import 'KafkaheadRefreshControl.h' @interface CustomHeader : KafkafootRefreshControl @end

*
.m

@implementation CustomHeader - (void)setupProperties{ [super setupProperties]; //初始化属性 } - (void)kafkaDidScrollWithProgress:(CGFloat)progress max:(const CGFloat)max{ //进度回调 } - (void)kafkaRefreshStateDidChange:(KafkaRefreshState)state{ [super kafkaRefreshStateDidChange:state]; switch (state) { case KafkaRefreshStateNone:{ break; } case KafkaRefreshStateScrolling:{ break; } case KafkaRefreshStateReady:{ break; } case KafkaRefreshStateRefreshing:{ break; } case KafkaRefreshStateWillEndRefresh:{ break; } } } @end交流

如需要帮助,请邮件 <xorshine@icloud.com>或者wechat:Xiangxh1015;

如遇到bug,请在Github open an issue,烦请您提供重现步骤;

个人精力有限,Kafka提供的回调接口足够去增加更丰富的UI效果,很欢迎您一起参与,并提交pull request;

如果您对该库有更好的设计思路,请务必e-mail或wechat。

License

KafkaRefresh利用MIT开源协议。


这里还有:


还可以点击去查询:
[自由选择]    [动画]    [样式]    [毕业]    [第三方]    [下拉]    [刷新]    [9种自由选择动画样式毕业的第三方上下拉刷新库]   

请扫码加微信 微信号:sj52abcd


下载地址: http://www.taolw.com/down/1984.docx
  • 上一篇:可单独设置边缘的layerborder
  • 下一篇:iOS 瀑布定制流封装