2013-03-12 6 views
7

UIRefreshControlUIScrollViewに追加しようとしていますが、領域が小さすぎるため、ユーザーが必要なレベルまで引き上げることがほとんどできません。UIRefreshControlに必要なパスをUIControlEventValueChangedに変更します

このコントロールの状態をトリガーする方法や、必要なプルジェスチャーの長さを変更する方法はありますか?

私は知っている、このコントロールは新しく、これを達成するストレートな方法はないかもしれないが、誰かがハックを見つけた可能性がありますか?解決策が見つかりました

+0

同様の概念を使用し、あなたのUIで何かを更新した場合:http://www.cocoacontrols.com/controls/pull-to-refresh-tableview – Mrunal

+0

@mrunal私だけのために私たちの内蔵ソリューションを望んでいましたその –

+0

これを参照してください:http://www.techrepublic.com/blog/ios-app-builder/ios-6-best-practices-introducing-the-uirefreshcontrol/314 – Mrunal

答えて

7

:あなたのscrollViewのデリゲートを作成し、- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerateにいくつかのコントロールをリフレッシュするには

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate 
{ 
    if (scrollView.contentOffset.y < -70) { 
    [refreshControl beginRefreshing]; 
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{ 
     [self handleRefresh:refreshControl]; 
    }); 
    } 
} 

オフセット発送は、サーバーからの情報の取得中にインタフェースを遅れないために作られています。 あなたがdispatch_async(dispatch_get_main_queue(), ^{//update UI code});

+0

こんにちは、私はなぜここにdispatch_syncを使用するのだろうかと思います? –

+0

@XhackerLiu that async –

関連する問題