2

我有一個UIGestureRecognizer,它連接到UILabel,當它在晚些時候被顯示出來時,會在屏幕外顯示。進入視圖後,輕擊手勢識別器不起作用。如果在視圖中呈現,它工作正常。UIGestureRecognizer呈現在屏幕外

任何想法,爲什麼這不起作用?我該如何解決它?

+0

您是否嘗試過加入識別標籤被帶入視圖後的問題? – thegrinner 2012-08-13 20:28:49

+0

將標籤帶入視圖後是否有其他(透明)視圖覆蓋/重疊標籤? – mAu 2012-08-13 20:33:09

+0

我通過繼承UILabel並實現hitTest:withEvent解決了這個問題: – 2012-09-04 16:22:55

回答

0

子類UILabel和實施hitTest:withEvent:解決

0

我嚴重懷疑它與屏幕上的「渲染」有關(以及你的意思是什麼)。在任何情況下,我建議當標籤被帶到您驗證標籤被啓用了屏幕,然後做這樣的事情:

NSArray *grs = label.gestureRecognizers; 
for(UIGestureRecognizer *gr in grs) { 
    NSLog(@"Recognizer: %@ enabled=%d state=%d del=%@", NSStringFromClass[gr class]), gr.enabled, gr.state, gr.delegate); 
} 

比較從離屏幕與屏幕上的結果,這將是有趣。有些事情正在發生,只需要找出哪些屬性是不同的。沒辦法獲得目標/動作對的列表。

相關問題