我在窗口上有三个视图。 UIView包含UIScrollView,而UIScrollView包含UILabel。所有这些视图都是320 * 460。 现在我想在UILabel上处理长按事件并将tap事件传递给UIView。 我改写了lable的touchesEnded:获得新闻发布时间。 如果时间足够短,我使用[[self nextResponder] touchesBegan:touches withEvent:event]来传递它。 但是,即使我重写UIScrollview并将[[self nextResponder] touchesBegan:touches withEvent:event]添加到它,UIView也无法重现touchesBegan事件。 并且,如果我为UIScrollView设置了userInteractionEnabled = NO,则UIView会获取被触摸的Began,并且UILabel无法重新获取它。
如何在UILabel中首先获取触摸事件,并在需要时将其传递给UIView。
感谢。
答案 0 :(得分:0)
尝试使用UITapGestureRecognizer在UIScrollView中检测touuch事件
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapGestureCaptured:)];
[scrollView addGestureRecognizer:singleTap];
您将接触到:
- (void)singleTapGestureCaptured:(UITapGestureRecognizer *)gesture
{
CGPoint touchPoint=[gesture locationInView:scrollView];
}
答案 1 :(得分:0)
我这样理解你的问题。
你在UIView和UILabel之间有滚动视图。