2012-04-18 18 views
0

によれば、それが可能な効果を作ることです。のUITableViewの自動スクロールが同時に別のUITableView

NSは:いくつかの理由から、1つのUITableView ...

おかげで2 UITableViewsを組み合わせることはできません。


私は方法を見つけてテストしました。ちょうどよい方法であるかどうかわかりません。 次のように、UIScrollViewDelegateのscrollViewDidScrollを実行します。 しかし、私はそれが1つのスクロールのために何度も呼び出されscrollViewDidScrollになりますので、バウンス効果をオフにする必要が...

- (void)syncTableViews:(UIScrollView *)whatScrollView 
{ 
    int tmpDesY = whatScrollView.contentOffset.y; 
    BOOL tmpNeedSetTv00 = NO; 
    BOOL tmpNeedSetTv01 = NO; 
    BOOL tmpNeedSetTv02 = NO; 

    if(whatScrollView == self.TableView00) 
    { 
     tmpNeedSetTv01 = YES; 
     tmpNeedSetTv02 = YES; 
    } 
    else if(whatScrollView == self.TableView01) 
    { 
     tmpNeedSetTv00 = YES; 
     tmpNeedSetTv02 = YES; 
    } 
    else if(whatScrollView == self.TableView02) 
    { 
     tmpNeedSetTv00 = YES; 
     tmpNeedSetTv01 = YES; 
    } 

    if(tmpNeedSetTv00 == YES) 
    { 
     [self.TableView00 setContentOffset:CGPointMake(self.TableView00.contentOffset.x,tmpDesY) animated:NO]; 
    }  
    if(tmpNeedSetTv01 == YES) 
    { 
     [self.TableView01 setContentOffset:CGPointMake(self.TableView01.contentOffset.x,tmpDesY) animated:NO]; 
    } 
    if(tmpNeedSetTv02 == YES) 
    { 
     [self.TableView02 setContentOffset:CGPointMake(self.TableView02.contentOffset.x, tmpDesY) animated:NO]; 
    } 
} 

- (void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    [self syncTableViews:scrollView]; 
} 

答えて

0

アンのUITableViewはUIScrollViewのデリゲートのためとして、あなたのクラスにUIScrollViewDelegateを追加あなたは だけ使用します。

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    UIScrollView *otherScrollView = (scrollView == self.tableViewHours) ? self.tableViewDay : self.tableViewHours; 
    [otherScrollView setContentOffset:[scrollView contentOffset] animated:NO]; 
} 

よろしくお願いいたします。

関連する問題