拉到刷新(ios)

时间:2011-02-27 13:53:05

标签: iphone objective-c ipad ios

我最近在此处实施了pull to refresh:https://github.com/leah/PullToRefresh。它有点工作,但它会被一个旋转活动指示器卡住。它们也没有箭头右侧的文字。我究竟做错了什么?谢谢!

8 个答案:

答案 0 :(得分:27)

没有代码,没有人会说,但也许尝试不同的Pull To Refresh实现,例如enormego (EGO)版本,代码位于github, here

它在Facebook应用程序中使用,所以它肯定有用。

答案 1 :(得分:15)

Apple在iOS6中引入了UIRefreshControl。您可以使用

将它集成到UITableViewController中
- (void)viewDidLoad {
    [super viewDidLoad];
    // Initialize Refresh Control
    UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
    // Configure Refresh Control
    [refreshControl addTarget:self action:@selector(refresh:) forControlEvents:UIControlEventValueChanged];
    // Configure View Controller
    [self setRefreshControl:refreshControl];
}

refresh:方法将触发更新,您可以使用以下命令在API回调中停止它:

 [(UIRefreshControl *)sender endRefreshing];

答案 2 :(得分:13)

我是iOS开发的新手,我正试图在iOS 6中实现拉动刷新。在寻找解决方案时,我偶然发现了这篇博文,发现它非常有用,http://www.intertech.com/Blog/Post/iOS-6-Pull-to-Refresh-(UIRefreshControl).aspx。它列出了以易于遵循的方式实现pull to refresh的步骤。任何希望在iOS 6中自行完成此操作的人都应该查看博客。

UIRefreshControl目前仅可用于表视图。要成功添加刷新控件,需要执行几个步骤:

1。  创建一个回调方法来处理刷新逻辑。当用户下拉表视图时,应调用回调方法。该方法的符号应该采用一个参数:指向UIRefreshControl的指针。

注意:步骤2-4都在Table View Controller的viewDidLoad方法中完成。

2。  使用基本的“alloc / init”实例化UIRefreshControl。

3。  将操作连接到刷新控件以在触发ValueChange事件时调用您的回调方法。

4。  将刷新控件添加到Table View Controller的“refreshControl”属性。

答案 3 :(得分:3)

我更喜欢EGO实现而不是leah,因为它不需要视图控制器的子类。 github中的原始EGO有点乱,没有.gitnore文件,并且不必要地添加了许多.DS_Store文件。看一下许多叉子中的一些并选择一个。

“emreberge”分支看起来像一个好的版本,更好的文件组织和文档!

https://github.com/emreberge/EGOTableViewPullRefresh

答案 4 :(得分:2)

我发现这个图书馆非常有用,很有趣并且是最新的:https://github.com/Yalantis/Pull-to-Refresh.Rentals-iOS

(其他答案的建议看起来很旧而且没有维护)

答案 5 :(得分:1)

现在,对于比上述iOS 5更新版本的iOS,您可以使用: UIRefreshControl。

有一个非常好的教程,可以为您的iOS应用程序创建自己的自定义拉动:http://ios-blog.co.uk/tutorials/how-to-add-a-custom-pull-to-refresh-in-your-ios-application/

答案 6 :(得分:0)

您可以使用:https://github.com/ngocbinh02/httablekit

支持iOS 5.0或更高版本

拉到刷新tableview

    import <HTTableKit/TableKit>

....

//like UIRefreshControll

[tableview setPullToRefreshControlType:UITableViewRefreshControlTypeSystem]; 

[tableview  setPullToRefreshModeEnable:YES beginHandler:^{

      // to do here when pulling to refresh
}];

取消拉取以刷新tableview

    import <HTTableKit/TableKit>

....

[tableview  dismissPullToRefreshEndHandler:^{

      // to do here when dismissing     
}];

答案 7 :(得分:0)

这是我们关于Custom Pull-to-Refresh控件的教程,包含Objective-C和Swift的代码:http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

要添加其他文字或图片,请按照self.refreshLoadingViewsetupRefreshControl方法(从教程中)将scrollViewDidScroll添加到{{1}}。

如果有帮助,请告诉我!