我最近在此处实施了pull to refresh:https://github.com/leah/PullToRefresh。它有点工作,但它会被一个旋转活动指示器卡住。它们也没有箭头右侧的文字。我究竟做错了什么?谢谢!
答案 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”分支看起来像一个好的版本,更好的文件组织和文档!
答案 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.refreshLoadingView
或setupRefreshControl
方法(从教程中)将scrollViewDidScroll
添加到{{1}}。
如果有帮助,请告诉我!