2013-03-13 37 views
1

我目前正在爲iPhone編寫一個iOS應用程序,其中一個特殊功能可以即時創建流程圖。所創建的流程圖是一個巨大的可滾動視圖。流程圖的每個信息節點都包含可自動將視圖移動到下一個信息節點的按鈕。在任何時候,用戶都可以使用捏合手勢來縮小當前信息節點,並完整地查看流程圖。如何阻止iOS PinchGesture選擇按鈕?

我的問題是這樣的:我注意到,如果用戶用他們的一個手指點擊信息節點中的一個按鈕來開始這個捏動作,那麼這個動作優先,下一個節點被顯示,而不是捏動作縮放從當前節點出來。

我一直在尋找StackOverflow,並嘗試了幾件事來解決這個問題,但似乎沒有任何工作。我想知道是否有人有類似的問題,如果他們能夠克服這個問題?

+3

你有沒有嘗試將'cancelsTouchesInView'設置爲YES? – Till 2013-03-13 19:16:08

+0

是的,我做了@Till。我也嘗試讓'PinchGesture'成爲獨家觸摸,但這並不妨礙在觸摸開始時選擇按鈕。 – 2013-03-13 19:33:22

+3

那麼如何不使用按鈕,但普通的意見,並添加tapGesture每個人認識按鈕水龍頭?這將允許您通過使用捏手勢作爲該方法的參數使用輕擊手勢上的'requireGestureRecognizerToFail'來給予捏手勢優先級。 – Till 2013-03-13 19:36:46

回答

1

使用@Till的建議,再看看我的問題,我做了一些適用於我的事情,我想我會在這裏分享它,以防其他人有類似的問題或願望。

我能夠創建UIViews,我可以用它來充當半按鈕。對於這些意見,我greated UITapGestureRecognizers和有針對性的他們走向,將檢查,看看方法,如果發件人的狀態StateEnded:

-(void)handleButtonTap:(UITapGestureRecognizer *)sender 
{ 
    if(sender.state == UIGestureRecognizerStateEnded) 
    // Go on and do the code here 
} 

然而,希望仍保持原有的iOS按鈕我做一步的外觀進一步。對於我創建的每個UIButton,我沒有將目標與這些按鈕關聯,而是爲每個按鈕創建UIViews。這些UIView完全空白,背景顏色爲「清晰」。以這種方式,我現在可以有我的按鈕,但仍然可以獲得我想要的功能。

我希望這可以幫助任何有類似問題的人。再次感謝@Till的建議。