如何实现ckrefreshcontrol来支持ios5?

时间:2013-03-09 08:24:45

标签: xcode ios5 github uirefreshcontrol

我在这个question中看到,对于同时支持iOS5和iOS6的应用程序,CKRefreshControl可以替代UIRefreshControl。我在Github上找到了代码,但我不知道如何实现它。 John说只是使用相同的代码。但缺少一些东西。 CKRefreshControl代码在哪里?

self.refreshControl = [[UIRefreshControl alloc] init];

谢谢!

2 个答案:

答案 0 :(得分:2)

除了CKRefreshControl源本身之外,不需要特定的CKRefreshControl代码。首次发布CKRefreshControl时,您必须通过调用UIRefreshControl替换所有对CKRefreshControl的调用,然后根据您是在iOS 5上还是在iOS上自动调度到正确的类6 +。

但是,最近John Haitas的贡献已经不再需要了。相反,只需编译和链接CKRefreshControl源代码,就可以在定位iOS 5时使UIRefreshControl类可用。因此,您可以继续使用[[UIRefreshControl alloc] init],它将自动在iOS 5上运行。

你为什么要相信我?因为我是第一个写CKRefreshControl的人。

答案 1 :(得分:0)

1)将3个类和前缀添加到项目中:

 - CKParagraphStyle.h  and  CKParagraphStyle.m
 - CKParagraphStyle.h  and  CKRefreshArrowView.m
 - CKRefreshControl.h  and  CKRefreshControl.m
 - CKRefreshControl-Prefix.pch  (goes into TableVCs using Refresh).

2)将QuartzCore.framework添加到目标库。

3)添加此方法:

-(void)doRefresh:(CKRefreshControl *)sender {
        NSLog(@"refreshing");
        [self.refreshControl performSelector:@selector(endRefreshing) withObject:nil afterDelay:1.0];
    }

最后,像往常一样使用UIRefreshControl,但选择doRefresh方法:

self.refreshControl = [[UIRefreshControl alloc] init];
[self.refreshControl addTarget:self action:@selector(doRefresh:) forControlEvents:UIControlEventValueChanged];