ISAlternativeRefreshControl 0.0.2

ISAlternativeRefreshControl 0.0.2

测试已测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2014年12月

Yosuke Ishikawa 维护。



  • Yosuke Ishikawa

内置创建自定义 UIRefreshControl 的模板。

注意:如果您想使用与 iOS 5 的 UIRefreshControl 的克隆版本,请使用 ISRefreshControl

要求

iOS 4.3 或更高版本

安装

ISAlternativeRefreshControl/ 下的文件添加到您的项目中。

用法

  • 创建 ISAlternativeRefreshControl 的子类。
  • 重写以下方法以表达您的 UIRefreshControl 的自定义行为。
- (void)willChangeProgress:(CGFloat)progress;
- (void)didChangeProgress;
- (void)willChangeRefreshingState:(ISRefreshingState)refreshingState;
- (void)didChangeRefreshingState;

例如,

- (void)didChangeProgress
{
    if (self.refreshingState == ISRefreshingStateNormal) {
        // rotate image using the progress of pullToRefresh.
        self.imageView.transform = CGAffineTransformMakeRotation(-M_PI * self.progress);
    }
}

- (void)willChangeRefreshingState:(ISRefreshingState)refreshingState
{
    switch (refreshingState) {
        case ISRefreshingStateRefreshing:
            [self.indicatorView startAnimating];
            break;

        case ISRefreshingStateRefreshed:
            [self.indicatorView stopAnimating];
            break;

        default: break;
    }
}
  • 配置目标和操作。(通常,是 UIViewController。)
self.arrowRefreshControl = [[ISArrowRefreshControl alloc] init];
self.arrowRefreshControl.frame = CGRectMake(0.f, 0.f, 320.f, 50.f);
[self.arrowRefreshControl addTarget:self
                   action:@selector(refresh)
         forControlEvents:UIControlEventValueChanged];
  • 将您的自定义 UIRefreshControl 添加到 UIScrollView。
[self.tableView addSubview:self.arrowRefreshControl];

示例

请参阅下面的类。演示应用程序包含它们。

许可证

版权所有 (c) 2013 Yosuke Ishikawa

特此授予任何获得本软件及其相关文档副本(“软件”)的人免费使用本软件的权利,不受任何限制,包括但不限于以下权利:使用、复制、修改、合并、出版、分发、再许可和/或出售软件副本,并允许提供软件的人这样做,但须遵守以下条件

上述版权声明和本许可声明应包含在与软件的副本或主要部分中。

软件按“原样”提供,没有任何明示或暗示的保证,包括但不限于适销性保证、针对特定目的的适用性保证和不侵权保证。在任何情况下,作者或版权持有人均不对任何主张、损害或其他责任负责,无论这种责任基于合同、侵权或其他原因,这些责任源自、因之产生或在联系软件或使用或其他方式处理软件的过程中产生。