mjh*_*mjh 73 uikit ios6 pull-to-refresh
我想UICollectionViewController在iOS 6下实现pull-down-to-refresh .这很容易实现UITableViewController,如下所示:
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(startRefresh:)
forControlEvents:UIControlEventValueChanged];
self.refreshControl = refreshControl;
Run Code Online (Sandbox Code Playgroud)
以上实现了一个漂亮的液滴动画作为本机小部件的一部分.
由于UICollectionViewController"更加进化",UITableViewController人们会期待某种功能的奇偶性,但我无法在任何地方找到参考来实现这一点的内置方式.
UIRefreshControl用某种方式使用UICollectionViewController,尽管报头和文档都指出它的意思与表视图中使用?mjh*_*mjh 215
(1)和(2)的答案都是肯定的.
只需添加一个UIRefreshControl实例作为子视图,.collectionView它就可以了.
UIRefreshControl *refreshControl = [[UIRefreshControl alloc] init];
[refreshControl addTarget:self action:@selector(startRefresh:)
forControlEvents:UIControlEventValueChanged];
[self.collectionView addSubview:refreshControl];
Run Code Online (Sandbox Code Playgroud)
而已!我希望在某个地方的文档中已经提到过这一点,尽管有时一个简单的实验可以解决问题.
编辑:如果集合不够大,无法使用活动滚动条,则此解决方案将无效.如果你添加这个声明,
self.collectionView.alwaysBounceVertical = YES;
Run Code Online (Sandbox Code Playgroud)
一切都很完美.此修复取自同一主题的另一篇文章(在其他发布的答案的评论中引用).
djb*_*jbp 18
我在寻找相同的解决方案,但在Swift中.基于以上答案,我做了以下工作:
let refreshCtrl = UIRefreshControl()
...
refreshCtrl.addTarget(self, action: "startRefresh", forControlEvents: .ValueChanged)
collectionView?.addSubview(refreshCtrl)
Run Code Online (Sandbox Code Playgroud)
不要忘记:
refreshCtrl.endRefreshing()
Run Code Online (Sandbox Code Playgroud)
我在使用Storyboard并且设置self.collectionView.alwaysBounceVertical = YES;不起作用.选择Bounces并Bounces Vertically为我完成工作.

| 归档时间: |
|
| 查看次数: |
32398 次 |
| 最近记录: |