0

我的视图控制器中有 3 个视图,它们由 a 控制,UISegmentControl因此一旦单击每个视图,它就会在每个视图之间切换。现在请记住,它们都是堆叠的,最初隐藏了 2 个,并且几乎可以切换来显示/隐藏其他的。

我正在尝试设置它,以便一旦在 3 个视图中的任何一个中点击一个区域,它就会打开另一个视图控制器。我将如何为我的视图控制器中的所有 3 个视图执行此操作?我的视图包括一堆UIImages模仿表格列表(它是一个原型应用程序)。每个视图都没有占据整个屏幕,因为我在顶部有一个标题栏,在底部有一个搜索栏和一个 tabcontroller。

4

2 回答 2

1

如果您有对图像(UIImageView 组件)的引用,您可能应该向所有图像添加一个 UITapGestureRecognizer 以检测点击。

例如在 viewDidLoad 中:

UITapGestureRecognizer *img1TapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(displayViewController1:);
[imageView1 addGestureRecognizer:img1TapGestureRecognizer];

UITapGestureRecognizer *img2TapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(displayViewController2:);
[imageView2 addGestureRecognizer:img2TapGestureRecognizer];

UITapGestureRecognizer *img3TapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(displayViewController3:);
[imageView3 addGestureRecognizer:img3TapGestureRecognizer];

然后通过以下方法显示您的视图控制器:

- (void)displayViewController1:(UITapGestureRecognizer *)recog {}
- (void)displayViewController2:(UITapGestureRecognizer *)recog {}
- (void)displayViewController3:(UITapGestureRecognizer *)recog {}
于 2013-08-29T18:54:20.950 回答
0

尝试这个

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
  UITouch *touch = [touches anyObject];
  if ([touch view] == yourDesiredImage) {
    // Do something here
  }
}
于 2013-08-29T18:49:25.723 回答