2014-07-10 82 views
6

在這裏拒絕滾動的UIScrollView出現了一個非常奇怪的事件。我將其設置在我的StoryBoard中,並在我的ViewDidLoad中正確設置contentSize。我再次檢查,以確保它是Scrollable等,但它只是不工作。我設置了scrollView.setContentOffset(),它用一個可愛的動畫和ScrollViewDidScroll委託人打電話來罰款。那麼,有沒有說爲什麼它可能不會用拖動手勢滾動?Swift UIScrollView不滾動,但響應setContentOffset和委託響應

我檢查過的東西:
- UserInteraction本身啓用,全部爲sub/superviews
- Scrollable
- 切換:DelaysContentTouchesCancellableContentTouches

我沒有想法。目前使用Xcode 6 Beta 1。任何幫助,將不勝感激。

的問候,
邁克

回答

22

它不因爲自動佈局拖拽手勢滾動。在viewDidLoad中,自動佈局將在您定義內容大小後重置內容大小。您有兩種選擇:您可以禁用自動佈局,或者您可以在viewDidLayoutSubviews中設置contentSize。

override func viewDidLayoutSubviews() { 
    super.viewDidLayoutSubviews() 
    scrollView.contentSize = CGSize(width:10, height:10) 
} 
+0

他只是走了,做了它。非常感謝你,馬上解決了這個問題。這應該教會我在不久之前不使用AutoLayout。自從出現以來的所有這些年裏,我從來沒有選擇AutoLayout,因爲我認爲這是一件麻煩事。已經使用了幾個月,現在真的很喜歡它。猜猜我必須在我去的時候學習所有這些小花絮。步步高昇! – Mackey18

+0

這工作..簡單而優雅.. –