2014-09-21 34 views
4

在我的應用程序中,我做了一個日曆,基本上包含每天包含一些單元格(自定義UIControl)的UIScrollView,頂部標題包含一些標籤(星期一,星期二,星期三......),顯然還有一些分隔符(1px厚度的UIView)。我的UIScrollView(包含一些UIControls)不再滾動在iOS 8中

在iOS 7上一切正常,我可以通過按下它們來選擇單元格(我使用UIControlEventTouchUpInside事件來選擇它們),並拖動分頁滾動視圖以顯示上一個月或下一個月。

但是因爲我已經切換到iOS 8並下載了Xcode 6,所以它不再工作。 事實上,我仍然可以選擇單元格,但scrollview不滾動(除非從頭或分隔符拖動它,這是基本的UIView,沒有任何觸摸事件管理)。

Il我開始從單元格拖動滾動視圖,它只是保持固定。

我沒有改變任何東西,所以我不明白爲什麼它不工作了......

請幫助我! :)

非常感謝

PS:我是法國人,對不起我的英文不好

回答

4

編輯:與iOS 8.1的行爲似乎的iOS 8.0之前,類似的行爲,因此蘋果可能有'修復。所以下面的答案不再需要了。


據我所見,iOS 8發生了變化,這影響了UIScrollview的處理。在UIControl的情況下,UIScrollView不會跟蹤內容。

有一件事我所做的,就是要繼承的UIScrollView並覆蓋touchesShouldCancelInContentView

- (BOOL) touchesShouldCancelInContentView:(UIView *)view { 
    return YES; 
} 

參見https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIScrollView_Class/index.html

返回值:YES取消進一步的觸摸信息查看,NO有 繼續下去,接收這些消息。如果view不是UIControl對象,則默認返回值爲 YES;否則,它返回NO。

+0

噢,非常感謝你,解決了我的問題!太糟糕的默認實現返回NO,這將節省很多時間... – 2014-09-22 07:33:18

+0

@Thomas很高興我雲幫助。如果它解決了您的問題,請接受我的回答(設置綠色勾號;請參閱http://meta.stackexchange.com/a/5235) – marcus 2014-09-22 11:25:59

+0

謝謝,這讓我擺脫了困境 – 2014-10-08 23:35:52