私のアプリケーションでは、コレクション ビューでリフレッシュ コントロールを使用しています。
UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:[UIScreen mainScreen].bounds];
collectionView.alwaysBounceVertical = YES;
...
[self.view addSubview:collectionView];
UIRefreshControl *refreshControl = [UIRefreshControl new];
[collectionView addSubview:refreshControl];
iOS7 には厄介なバグがあり、コレクション ビューを下に引っ張って更新を開始するときに指を離さないと、垂直方向contentOffset
に 20 ~ 30 ポイント下に移動し、醜いスクロール ジャンプが発生します。
の外で更新制御を使用してテーブルを使用すると、テーブルにもこの問題が発生しますUITableViewController
。UIRefreshControl
しかし、それらの場合は、インスタンスをUITableView
のプライベート プロパティに割り当てることで簡単に解決できます_refreshControl
。
@interface UITableView ()
- (void)_setRefreshControl:(UIRefreshControl *)refreshControl;
@end
...
UITableView *tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds];
[self.view addSubview:tableView];
UIRefreshControl *refreshControl = [UIRefreshControl new];
[tableView addSubview:refreshControl];
[tableView _setRefreshControl:refreshControl];
しかし、UICollectionView
そのようなプロパティを持っていないので、手動で処理する方法が必要です。