1
我想實現我的iOS應用程序類型「幫助模式」的上半部分抽頭控制。當用戶點擊幫助按鈕時,觸摸屏幕被UITapGestureRecognizer截獲,如果它在控件上,則會出現一個帶有幫助信息的彈出窗口。然而UITapGestureRecognizer僅檢測是否在櫃員機控制
我的問題是應用程序只檢測到我已經利用一個控制,如果我在控制的上半部分挖掘。我使用hitTest:withEvent:確定觸摸哪個視圖:
CGPoint touchPoint = [(UITapGestureRecognizer*)sender locationInView:nil];
UIView* touchedView = [self.view hitTest:touchPoint withEvent:nil];
UILabels特別難以成功打中。
視圖包含在頂部導航欄一個,但相當標準。有沒有人有類似的問題?有誰知道解決方案?
謝謝!你能否解釋爲什麼當我在窗口中觸摸它時它會部分起作用? – DanielO 2012-04-13 07:36:28
在這種情況下,點的y值由於某個偏移量而錯誤 - 可能與狀態欄和/或導航欄的高度有關。有時候你很幸運,即使出現了錯誤的觀點,你也會得到「正確」的看法。 – 2012-04-13 15:53:55
我有同樣的問題,我的UIImageView與UITapRecognizer只報告TouchEvents從其高度的後半部分,'儘管我使用CGPoint位置= [(UITapGestureRecognizer *)發件人locationInView:sender.view]; CGPoint接觸點= [(UITapGestureRecognizer *)發件人locationInView:發送者];' – headkit 2012-06-20 10:01:15