我還沒有嘗試過,但我認爲我將不得不禁用滾動的父滾動視圖,只要我知道用戶將要滾動的子滾動視圖,對不對?如何在UIScrollView中嵌套UIScrollView,以便用戶可以滾動內部UIScrollView?
兩個滾動視圖都是水平滾動的。
我怎樣才能暫時禁用父母的滾動檢測?或者有其他方法嗎?
我還沒有嘗試過,但我認爲我將不得不禁用滾動的父滾動視圖,只要我知道用戶將要滾動的子滾動視圖,對不對?如何在UIScrollView中嵌套UIScrollView,以便用戶可以滾動內部UIScrollView?
兩個滾動視圖都是水平滾動的。
我怎樣才能暫時禁用父母的滾動檢測?或者有其他方法嗎?
UIScrollView有一個名爲scrollEnabled
的屬性,您可以將其設置爲NO
以禁用父滾動視圖中的滾動。
我還沒有嘗試過,但你可能會發現它正確的事情,即內部滾動視圖滾動,直到它不能再滾動,此時外部滾動視圖滾動。
我這樣做,它確實會導致滾動視圖家長不要將不再滾動這是很好的但我的孩子滾動視圖,其經presentModalViewController推還是不響應滾動事件(例如,滾動或上下)。我明顯錯過了一些東西......
編輯:得到它最後通過在父視圖上使用'scrollEnabled'工作。謝謝。
我有同樣的問題,直到我設置動態足夠的高度內滾動型的contentSize,使用:
[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,600)];
顯然,這僅僅是一個硬編碼的例子,你應該設置爲顯示整個所需要的高度視圖的內容,最後還可能不需要滾動。
看來,設置使用IBuilder的scrollView的高度是不夠的,所以不需要滾動,這就是爲什麼我認爲掃描事件沒有達到內滾動。
希望這會有所幫助!
這是非常可能的。最簡單的方法是禁用scrollEnabled
屬性,您也可以嘗試將外部UIScrollView
的contentSize
設置爲其界限,以便它不會滾動。根據你的需要,你可以將No設置爲bounce
,但這基本上會使你的滾動視圖像一個普通的UIView。
如果你能控制的所有子UIScrollView
的,可以實現UIScrollViewDelegate
協議,但如果你不這樣做,或者你的孩子UIScrollView
確實是一個UITableView
,或UICollectionView
,那麼你就不能真正依靠的UIScrollViewDelegate
協議,但請記住UIScrollView
附帶panGestureRecognizer
,你可以玩。一個強大而又笨重的方法是在panGestureRecognizer
的state
屬性上添加一個觀察者,以便您可以捕獲所有事件,而不會成爲UIScrollView
的代表。
嗨hatfinch,我不知道如何防止默認行爲「內滾動視圖滾動,直到它不能再滾動,在這一點上外滾動視圖滾動」?我希望當用戶滾動內部視圖時,即使內部視圖滾動到結尾,外部視圖也可以保留。 – Hampotato 2016-05-30 08:21:56