2012-03-05 13 views
0

重複する終了ページを使用して無限のUIScrollViewを実装しています。具体的には、3つのViewControllerを持っています。そのビューは、UIScrollViewコンテンツにサブビューとして追加します。だから、実際には、UIScrollViewの内容は、以下のように(V1 =のViewControllerのビュー1、V2、のViewControllerのビュー2、V3 =のViewControllerのビュー)重複する終了ページを使用する無限のUIScrollView

UIScrollViewののコンテンツを探します: [V3] [V1] [V2] [V3] [V1 ]

V2からV3へ右にスクロールしてV1にすると、「scrollRectToVisible」を使用してScrollViewをV1に2番目の位置に移動し、無限に見えるようにします。同様に、ユーザーがV2からV1へV3を左にスクロールすると、2番目から最後の位置でスクロールビューがV3に移動します。

- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender {  

    if (scrollView.contentOffset.x == 0) {   
     // user is scrolling to leftwards and has reached the position 0 of the scrollview   
     [scrollView scrollRectToVisible:CGRectMake(960,0,scrollView.frame.size.width,scrollView.frame.size.height) animated:NO];  
    }  
    else if (scrollView.contentOffset.x == 1280) {   
     // user is scrolling rightward and has reached the last position of the scrollview   
     [scrollView scrollRectToVisible:CGRectMake(320,0,scrollView.frame.size.width,scrollView.frame.size.height) animated:NO]; 
     } 
    } 
} 

私がここに持っている問題はViewControllersがそれらにUITableViewsを持っているということです。

Codewise、これは次のようになります。たとえば、V1にはUITableViewがあります。ユーザーがV1のUITableViewの行10に行った場合、私はスクロールビュー内のV1ビュー間でUITableViewの状態を同期させる必要があると考えています。

ユーザーは、分割された秒またはスクロールビューの半分だけをドラッグするときに最も右の[V1]を表示しますが、状態が同期していない場合、同じTableViewではないことがわかります。

これには何らかの方法がありますか?私が思ったひとつの方法は、状態を保存し、すべてのV1を更新して同じことを表示することです。

自動的に2つのUITableViewオブジェクトを互いにミラーリングすることはできますか?

ありがとうございました!

あなたがいると言う

答えて

1

:ユーザーがV1ののUITableViewの10行になった場合、私はscrollviewでV1のビュー間のUITableViewの状態を同期させる必要があると考えている

つまり、同じV1 ViewControllerのインスタンスが複数あることを意味します。

2つのUITableViewオブジェクトを自動的にミラーリングすることはできますか?

はい、NSUserDefaultsのNSNotificationCenterを使用すると、そのトリックを行う必要がありますが、もっと効率的な処理を行うことができます。通常、動いているあなたは、特定の条件に再手配のみ3 VC(各クラスに1つのインスタンス)に

- (void)layoutSubviews 

に試してみることができ代わりに

- (void)scrollViewDidEndDecelerating:(UIScrollView *)sender 

を使用しての

( VCが画面から完全に消えている)。したがって、2つのVCを節約し、同じクラスのインスタンスを同期させる必要はありません。

Appleは無限スクロールビュー(WWDC 2011、セッション104 - スクロールビューの高度なテクニック)について素晴らしいビデオを公開しました。

これが役に立ちます。がんばろう。

+0

ありがとう、私はこれを試してみましょう! – kurisukun

関連する問題