INSPullToRefresh 1.2.0

INSPullToRefresh 1.2.0

测试已测试
Lang语言 Obj-CObjective C
许可证 MIT
发布最后发布2018年1月

由Michal Zaborowski维护。查看维护者.



  • 作者
  • inspace.io

简介

INSPullToRefreshMichał Zaborowskiinspace.io 编写。

INSPullToRefresh

INSPullToRefresh 是一个简单的非常通用的下拉刷新和无限滚动功能,作为一个 UIScrollView 分类。

有许多下拉刷新视图。我们从未找到一个令人满意的。我们总是最终定制一个,所以我们决定编写一个高度通用的。您只需编写视图并将它添加到下拉刷新或无限滚动容器视图的内容中。

我们编写了一些示例,可以在 Facebook、 Vine、 Twitter 等流行应用中找到。

已知的已知问题

默认设置为 YES 的 automaticallyAdjustsScrollViewInsets 属性在 UIViewController 中破坏了太多事情,因此当添加下拉刷新时它将被自动关闭,并手动由库管理。

用法

[self.tableView ins_addPullToRefreshWithHeight:60.0 handler:^(UIScrollView *scrollView) {
    int64_t delayInSeconds = 1;
    dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, delayInSeconds * NSEC_PER_SEC);
    dispatch_after(popTime, dispatch_get_main_queue(), ^(void){
        [scrollView ins_endPullToRefresh];

    });
}];

CGRect defaultFrame = CGRectMake(0, 0, 24, 24);

UIView <INSPullToRefreshBackgroundViewDelegate> *pullToRefresh = [[INSDefaultPullToRefresh alloc] initWithFrame:defaultFrame backImage:[UIImage imageNamed:@"circleLight"] frontImage:[UIImage imageNamed:@"circleDark"]];

self.tableView.ins_pullToRefreshBackgroundView.delegate = pullToRefresh;
[self.tableView.ins_pullToRefreshBackgroundView addSubview:pullToRefresh];

您需要做的就是处理您自定义视图中的两个 INSPullToRefreshBackgroundViewDelegate 方法。

@protocol INSPullToRefreshBackgroundViewDelegate <NSObject>
@optional
- (void)pullToRefreshBackgroundView:(INSPullToRefreshBackgroundView *)pullToRefreshBackgroundView didChangeState:(INSPullToRefreshBackgroundViewState)state;

- (void)pullToRefreshBackgroundView:(INSPullToRefreshBackgroundView *)pullToRefreshBackgroundView didChangeTriggerStateProgress:(CGFloat)progress;

@end

ARC

INSElectronicProgramGuideLayout 使用 ARC。

联系方式

inspace.io

Twitter

许可证

MIT 许可证 (MIT)

版权所有 (c) 2015 inspace.io

本软件的著作权和本许可协议应包含在本软件的所有副本或主要部分中。

以上版权声明和本许可协议应包含在所有副本或主要部分中。

该软件按“原样”提供,不提供任何形式的保证,无论是明示的还是暗示的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任承担责任,无论是在合同诉讼、侵权诉讼或其他诉讼中,这些索赔、损害或其他责任是由于、从、或与该软件的使用或其他方式相关而产生的。