2011-12-16 48 views
1

我有一個UITableView其細胞包含被旋轉90°(因此它們滾動一側到另一側),類似於在此說明UITableViews:爲什麼我的嵌套UITableView彈跳不正常?

http://marcanton.io/blog/nested-orthogonal-tableviews/

當我滾動單元中的一個,以結束時(例如一直到內容的左邊或右邊),它會按預期反彈。但是,如果它已經到了最後,並且我試圖在內容的末尾滾動(例如,它一直向右滾動,並且我試着向右滾動),但它不會彈起,有時也會錯誤地將滾動嘗試解釋爲輕擊。

如果我創建UIScrollView包含另一個旋轉90°的UIScrollView,則會發生同樣的情況,因此它似乎是嵌套滾動視圖的問題,而不是表視圖的問題。

我試着子類UITableView並覆蓋所有UIGestureRecognizerDelegate方法,像這樣:

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer 
{ 
    return YES; 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer 
{ 
    return YES; 
} 

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch 
{ 
    return YES; 
} 

但是這並沒有影響(超過允許同時水平和垂直滾動,我不需要其他)。

回答

1

它與內表視圖旋轉90度這一事實有關。觀察到的彈跳行爲(以及缺乏)與沿着與超級視圖相同的軸滾動的嵌套滾動視圖完全一致。

在用戶界面中,內部和外部表格視圖顯示爲沿着不同的軸進行滾動,但由於旋轉變換而在幕後,它們都沿着各自的Y軸滾動。因此,系統將它們視爲沿同一軸進行滾動。

0

我發現在UIScrollView中包裝旋轉的UITableView解決了這個問題(不知道爲什麼這不適合你)。