在主uiview的子视图上获取点击事件
Posted
技术标签:
【中文标题】在主uiview的子视图上获取点击事件【英文标题】:get click event on subview on main uiview 【发布时间】:2012-04-03 01:16:16 【问题描述】:我有一个包含滚动图像+分页的视图。我已在 UIVIEW 上添加了这些图像,并将此 UIView 添加到主视图。我想检测滚动视图中图像的点击事件并在主视图中处理它们。
我该怎么做?
请帮忙
【问题讨论】:
【参考方案1】:你可以用手势识别器解决这个问题。
// In the view controller where you create the subviews
// (not sure from your question, but I think you are adding image views to a scroll view
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake...];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTapped:)];
[imageView addGestureRecognizer:tap];
现在,当图像视图被点击时,它会被调用
- (void)imageViewTapped:(UITapGestureRecognizer *)gr
UIImageView *theImageViewThatGotTapped = (UIImageView *)gr.view;
【讨论】:
【参考方案2】:使用手势简单的一个
UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake...];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTapped:)];
[imageView addGestureRecognizer:tap];
然后调用选择器方法并做任何你想做的事..
【讨论】:
【参考方案3】:就个人而言,我没有添加UIImageView
,而是将图像添加为UIButton
,并为该按钮设置图像。然后,您将内部事件的修饰链接到您认为合适的方法。
【讨论】:
【参考方案4】:对不起,我没有时间写代码。
为所有图像设置不同的标签将所有图像保存在数组中。然后在 touchbegin 设置框架并使用标签检查。
【讨论】:
以上是关于在主uiview的子视图上获取点击事件的主要内容,如果未能解决你的问题,请参考以下文章
UIView touchesEnded 事件未在第一次点击时调用,但在再次点击时调用
对 uicontrol 的 nextresponder 感到困惑