在主uiview上的子视图上获取click事件

时间:2012-04-03 01:16:17

标签: iphone objective-c ios uiview uiscrollview

我有一个滚动图像+分页的视图。我在UIVIEW上添加了这些图像,并将此UIView添加到主视图中。我想在scrollview中检测图像上的click事件,并在主视图中处理它们。

我该怎么做?

请帮忙

4 个答案:

答案 0 :(得分:17)

您可以使用手势识别器解决问题。

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

答案 1 :(得分:3)

使用Gesture简单的

UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake...];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewTapped:)];
[imageView addGestureRecognizer:tap];

调用选择器方法并按照自己的意愿行事......

答案 2 :(得分:2)

就个人而言,我不是添加UIImageView,而是将图像添加为UIButton并设置该按钮的图像。然后,您可以根据需要将内部事件的触摸链接到您的方法。

答案 3 :(得分:2)

抱歉,我没时间编写代码。

为所有图像设置不同的标记保存数组中的所有图像。然后在touchbegin中设置框架并使用标签进行检查。