关于iPhone:拉动(iOS)

Pull to Refresh (ios)

我最近在这里实现了pull刷新:https://github.com/leah/PullToRefresh。但是,它的工作方式有点像旋转活动指示器。他们的箭头右边也没有文字。我究竟做错了什么?谢谢!


没有代码,没有人可以说,但是也许尝试不同的Pull To Refresh实现,例如enormego(EGO)版本,代码在github,这里

它已在Facebook应用程序中使用,因此肯定可以使用。


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

将其集成到UITableViewController中

1
2
3
4
5
6
7
8
9
- (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回调中将其停止:

1
 [(UIRefreshControl *)sender endRefreshing];

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

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

1。
创建一个回调方法来处理您的刷新逻辑。当用户在表视图上下拉菜单时,应调用该回调方法。方法的签名应带有一个参数:指向UIRefreshControl的指针。

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

2。
使用基本的"分配/初始化"实例化UIRefreshControl。

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

4。
将刷新控件添加到表视图控制器的" refreshControl"属性。


相对于Leah,我更喜欢EGO实现,因为它不需要您的视图控制器的子类。 github中的原始EGO有点混乱,没有.gitnore文件,而不必要地添加了许多.DS_Store文件。看一下其中的许多叉子,然后选择其中一个。

" emreberge"分支看起来像是一个不错的版本,也具有更好的文件组织和文档!

https://github.com/emreberge/EGOTableViewPullRefresh


我发现此库非常有用,新颖,最新:https://github.com/Yalantis/Pull-to-Refresh.Rentals-iOS

(其他答案的建议似乎过时且未得到维护)


现在,如果使用的iOS版本高于上述iOS 5,则可以使用:UIRefreshControl。

关于创建自己的自定义拉动以刷新iOS应用程序的教程非常不错:http://ios-blog.co.uk/tutorials/how-to-add-a-custom-pull-to-在您的iOS应用程序中刷新/


这是我们的有关自定义"套用至刷新"控件的教程,其中包含用于Objective-C和Swift的代码:http://www.jackrabbitmobile.com/design/ios-custom-pull-to-refresh-control/

要添加其他文本或图像,如前所述,请通过setupRefreshControlscrollViewDidScroll方法将它们添加到self.refreshLoadingView中(来自本教程)。

让我知道是否有帮助!


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

支持iOS 5.0或更高版本

拉动以刷新表视图

1
2
3
4
5
6
7
8
9
10
11
12
    import <HTTableKit/TableKit>

....

//like UIRefreshControll

[tableview setPullToRefreshControlType:UITableViewRefreshControlTypeSystem];

[tableview  setPullToRefreshModeEnable:YES beginHandler:^{

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

关闭拉动以刷新tableview

1
2
3
4
5
6
7
8
    import <HTTableKit/TableKit>

....

[tableview  dismissPullToRefreshEndHandler:^{

      // to do here when dismissing    
}];