8

UIColloectionView の下部に UIRefreshControl を追加するにはどうすればよいですか? つまり、上にスクロールする場合 (古いデータなどを表示する場合) はどのように機能するのでしょうか?

4

3 に答える 3

12

それを行うために使用することはできませんUIRefreshControlが、より単純なソリューションで問題ない場合は、コレクション ビューを設定して、一番下までスクロールしたときにさらに多くのデータを自動的に読み込むことができます。(ちなみに、これははるかに一般的なユーザー インターフェイスです ... プルアップして更新することは一般的ではありませんが、一番下に到達したときに自動的により多くのデータを取得することは一般的です。)

その最も原始的な表現は、メソッドに応答し、コレクション ビュー (それ自体が のサブクラス)UIScrollViewDelegateの一番下までスクロールしたかどうかを判断することです。UIScrollView

- (void)scrollViewDidScroll:(UIScrollView *)scrollView
{
    if ((scrollView.contentOffset.y + scrollView.frame.size.height) >= scrollView.contentSize.height)
    {
        if (!self.isLoadingMoreData)
        {
            self.loadingMoreData = YES;

            // proceed with the loading of more data
        }
    }
}

さらに良いことに、ロードするデータが他にもある場合は、下部にセルを表示します。これは、おそらくUIActivityIndicatorView. たとえば、ロードするデータがさらにある場合は、この 1 つのセルを含むセクションを最後に追加します。この追加のセルを適切にフォーマットすると (たとえば、コレクション ビュー全体にわたる単一のセル)、探している効果を確実にレンダリングできます。

于 2013-02-17T08:22:39.573 に答える
4

これは、bottomRefreshControlプロパティを実装する UIScrollView クラス (UICollectionView クラスの親) のCCBottomRefreshControlカテゴリです。iOS 6 と 7 の両方のネイティブ リフレッシュ コントロールと互換性があります。

于 2014-01-20T20:44:10.117 に答える
-3

できません。完全にカスタマイズすることはできませんUIRefreshControl

于 2013-02-17T02:47:20.097 に答える