2017-04-26 125 views
2

我試圖在Apple的iOS 10 Maps應用中重現按鈕表。大部分工作。我一直在尋找this SO postPulley on GitHub,但他們都沒有解決我的問題。將同一個手勢中的一個視圖拖到另一個視圖

當紙張完全打開時,可以將紙張的內容作爲UITableView滾動,但當用戶試圖向下滾動(UITableViewcontentOffset爲負數時),手勢正在拖入而不是UITableView。手勢從拖動UITableView到拖動工作表無縫地變化。

在手勢委託人的shouldRecognizeSimultaneouslyWith中禁用滾動UITableView,但這隻在手勢開始時調用。

我無法控制UITableViewpanGestureRecognizer,所以我不能捕捉手勢並確定它應該移動的視圖。

我該如何改變什麼UIGestureRecognizer應該在手勢中間識別觸摸?

screenshot of Apple's iOS 10 Maps app

+0

不能你實現shouldRecogniseGesture爲您定製鍋,並返回tableView.contentOffset == 0 – SeanLintern88

回答

0

嘗試

override func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool { 
    if gestureRecognizer == myCustomPanGesture { 
     return self.tableView.contentOffset == 0 
    } 
    return true 
} 
+0

這將導致兩個的tableview和片材是滾動一樣本。在工作表被拖拽時,UITableView的contentOffset正在增長。這也沒有解決;如果手勢開始在正確的「contentOffset」處拖動,則當contentOffset達到零時,手勢將改變爲拖動工作表。 – Wiingaard

+0

嗯,它可能是你必須創建一個不可見的視圖與平底鍋上,並指定翻譯的地方。 – SeanLintern88

+0

但是,當你給它一個滑動的時候,我會放棄'UITableView'的滾動效果,並且它是自由運行的,它會逐漸降低速度。對? – Wiingaard

相關問題