UIGestureRecognizer呈现在屏幕外

UIGestureRecognizer呈现在屏幕外

问题描述:

我有一个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

子类UILabel和实施hitTest:withEvent:解决

我严重怀疑它与屏幕上的“渲染”有关(以及你的意思是什么)。在任何情况下,我建议当标签被带到您验证标签被启用了屏幕,然后做这样的事情:

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); 
} 

比较从离屏幕与屏幕上的结果,这将是有趣。有些事情正在发生,只需要找出哪些属性是不同的。没办法获得目标/动作对的列表。