0
我的問題如下:TouchesEnded未被調用第二次
我在標準視圖控制器中顯示帶附件的消息視圖。當用戶按下並保持附件圖標時,它會在屏幕上顯示圖像,當用戶放開圖像時消失。這有助於在用戶查看圖像時檢測屏幕截圖。
我使用長按手勢識別器來檢測觸摸,然後觸摸已着手或觸摸取消檢測觸摸的釋放。
當用戶使用第二個手指按下屏幕時會出現我的問題,因爲未報告第二次觸摸的發佈。代碼如下,該方法被調用的順序:
- 首先長按 - > attachmentLongPressed叫
- 第二長按 - > attachmentLongPressed叫
- 發佈第一根指頭 - > touchesEnded叫
鬆開第二根手指 - >叫什麼
-(void)attachmentImageLongPressed:(UIImageView *)sender{ if(!self.isAttachmentOpen){ [self setAttachmentOpen:YES]; // Show image... } } -(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event{ [self setAttachmentOpen:NO]; // Remove image from view } -(void)touchesCancelled:(NSSet *)touches withEvent:(UIEvent *)event { if(self.isAttachmentOpen){ [self screenshotDetected]; } }
結果是圖像視圖留在屏幕上,無法解除它。任何人有任何建議?
touches ended不會被第二次調用,那就是問題所在。我記錄回調,這是我知道這一點。禁用它沒有任何意義,整個想法是,我需要觸摸結束被稱爲將圖像從屏幕上移開... – Alan 2013-03-06 07:16:17