2017-05-31 139 views
0

我有一個可通過uipangeuureure拖動的uiscrollview,同時我希望它可以滾動,但是當手勢被添加到視圖時,它不再滾動,它只能變成可拖動的。即使我從scrollview中移除該手勢,它仍然不會滾動,有什麼想法?當我刪除UIPanguesture時,爲什麼我的UIScrollView不能滾動?

我如何刪除手勢

backgroundframe.gestureRecognizers?.removeAll() 

我如何添加手勢回

backgroundframe.addGestureRecognizer(self.guestureToAdd) 

當我添加的姿態回來,拖動工作正常不過,但是當我刪除我的滾動視圖停止能夠滾動,我不知道爲什麼

回答

2

UIScrollView使用手勢識別器來檢測使其滾動和縮放的手勢。如果您檢查文檔,您會發現它有panGestureRecognizerpinchGestureRecognizer屬性可用於直接訪問其某些識別器,但它們也必須位於其gestureRecognizers陣列中以實際工作。並且(通過至少iOS 10.3),其gestureRecognizers陣列中至少還有一個識別器,它不通過專用屬性公開。

當您撥打backgroundframe.gestureRecognizers?.removeAll()時,您將刪除這些識別器。您需要刪除自己的識別:

backgroundframe.removeGestureRecognizer(self.guestureToAdd) 

[WWDC 2012屆223「增強了用戶體驗與滾動視圖」](https://developer.apple.com/videos/play/wwdc2012/223/)討論UIScrollView的使用手勢識別的。

+0

哇謝謝你!我不認爲滾動會被視爲一種姿態,認爲這只是一種財產 –

相關問題