2011-09-08 38 views
3

我有一個MPMoviePlayerViewController,我把在它上面一個UIView認識到單一的水龍頭,然後我可以顯示視頻控制面板,並雙擊要放大/縮小視頻所以我爲手勢識別器設置了numberOfTapsRequired = 1,但是當我進行雙擊時,視頻不是縮放,但是控制面板顯示然後消失,就好像有兩個單擊一樣。的iOS TapGestureRecognizer吃了雙擊numberOfTapsRequired = 1

反正是有解決它?

謝謝!

+0

這可能有助於http://stackoverflow.com/questions/9008975/how-to-tap-to-zoom-and-double-tap-to-zoom-out-with-uiscrollview/9009554#9009554 –

回答

7

是。 [UIGestureRecognizer requireGestureRecognierToFail:]就是爲了這個目的。將您的單擊手勢識別器設置爲要求雙擊手勢識別器失敗。如果它沒有失敗,則會發生縮放。如果它確實失敗(即你只有一次而不是兩次),那麼你的控制面板會顯示。

+0

所以做我還將雙擊識別器添加到視圖中?如果我這樣做,它會識別雙擊,然後不會傳遞到基礎視頻播放視圖?另外,我想強調一下,我在視頻播放器的視圖之上還有另一個UIView,否則我無法將識別器添加到MPMoviePlayerViewController.view(或者我可以嗎?)謝謝! – hzxu

+0

是的,您也可以在視圖中添加雙擊。我無法爲'MPMoviePlayerViewController'添加屬性的方式是基於[NGMoviePlayer](https://bitbucket.org/brentsimmons/ngmovieplayer)創建我自己的'AVPlayer'電影播放器​​。儘管你可能不想走這條有點極端的路線(我在做廣告支持和其他事情)。 – darvids0n

+0

我試了一下,現在「點擊點擊」不會讓控制面板出現和消失,但電影放映仍然沒有放大,所以如何將雙擊放到電影播放器​​上?謝謝! – hzxu