2013-10-25 65 views
0

我有兩個UITableView,而一個表視圖滾動我不得不滾動另一個tableview。多個UITableView滾動同步

  1. 我做到這一點通過

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

,並獲得contentOffsetOf一個的tableView功能是值傳遞到另一個的tableView和更改的tableView contentOffset使用此值。我期望的工作。同樣的方式,如果我滾動另一個tableView它會通過新的contentOffset到這個表,它會根據值更改它的contentOffset。

但是,當過我再次使用其他的tableView contentOffset的值更改一個的tableView的contentOffset其調用其

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

所以它的工作就像雙向通信。但我不想在使用另一個tableView contentOffset更改contentOffset值時,不應再次調用不應該回調相同的函數。我怎麼能實現。

+0

給出tableview標籤和if條件處理。像If(tableview.tag == 1) –

回答

0

設置一個BOOL在該方法scrollViewWillBeginDragging:shouldChangeContentOffsetOfTable1shouldChangeContentOffsetOfTable2

對於每個表NO

和在該方法中

-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollViewYES

在方法

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 

檢查爲每個表這個值

然後,如果它NO,dont't設置它的內容偏移。因此,如果此表正在手動滾動,則不會設置每個表的contentOffset。