2009-05-26 37 views

回答

9

UIScrollView有一個名爲scrollEnabled的屬性,您可以將其設置爲NO以禁用父滾動視圖中的滾動。

我還沒有嘗試過,但你可能會發現它正確的事情,即內部滾動視圖滾動,直到它不能再滾動,此時外部滾動視圖滾動。

+0

嗨hatfinch,我不知道如何防止默認行爲「內滾動視圖滾動,直到它不能再滾動,在這一點上外滾動視圖滾動」?我希望當用戶滾動內部視圖時,即使內部視圖滾動到結尾,外部視圖也可以保留。 – Hampotato 2016-05-30 08:21:56

0

我這樣做,它確實會導致滾動視圖家長不要將不再滾動這是很好的我的孩子滾動視圖,其經presentModalViewController推還是不響應滾動事件(例如,滾動或上下)。我明顯錯過了一些東西......

編輯:得到它最後通過在父視圖上使用'scrollEnabled'工作。謝謝。

0

我有同樣的問題,直到我設置動態足夠的高度內滾動型的contentSize,使用:

[scrollView setContentSize:CGSizeMake(scrollView.frame.size.width,600)]; 

顯然,這僅僅是一個硬編碼的例子,你應該設置爲顯示整個所需要的高度視圖的內容,最後還可能不需要滾動。

看來,設置使用IBuilder的scrollView的高度是不夠的,所以不需要滾動,這就是爲什麼我認爲掃描事件沒有達到內滾動。

希望這會有所幫助!

1

這是非常可能的。最簡單的方法是禁用scrollEnabled屬性,您也可以嘗試將外部UIScrollViewcontentSize設置爲其界限,以便它不會滾動。根據你的需要,你可以將No設置爲bounce,但這基本上會使你的滾動視圖像一個普通的UIView。

如果你能控制的所有子UIScrollView的,可以實現UIScrollViewDelegate協議,但如果你不這樣做,或者你的孩子UIScrollView確實是一個UITableView,或UICollectionView,那麼你就不能真正依靠的UIScrollViewDelegate協議,但請記住UIScrollView附帶panGestureRecognizer,你可以玩。一個強大而又笨重的方法是在panGestureRecognizerstate屬性上添加一個觀察者,以便您可以捕獲所有事件,而不會成爲UIScrollView的代表。