我有一个UITableView我在其中填充自定义生成的UITableViewCells。这些有一张照片和一些标签。iphone - 执行segue从自定义TableCellView
是否有任何方式,当点击图片时,它执行某个segue,但当我点击每个标签时,它执行不同的segues。我只想在单击UIImageView或UILabels时执行这些segues。
我目前在玩下面的想法。
- 中的cellForRowAtIndexPath在创建他们的时候添加手势识别器来的UIImageView和UILables
- 以上触摸手势将触发SEGUE
我的代码看起来像这样在我创造我UITableViewCells中的UITableView的cellForRowAtIndexPath委托
cell.myImage.userInteractionEnabled = YES;
UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(doSomething:)];
singleTap.numberOfTapsRequired = 1;
singleTap.delegate = self;
[cell.myImage addGestureRecognizer:singleTap];
当我点击th表时,这将重写表视图的didSelectRowAtIndexPath委托e UIImageView,所以我试着从doSomething:函数中触发segue,但是这个函数并不知道UITableView indexPath,因此无法将正确的信息发送到目标视图控制器(它总是发送0)。
我敢肯定,必须有一个容易做到这一点
任何想法欢迎。提前致谢。
我在哪里添加此代码?由singleTap触发的方法没有定义事件标识符,因此UITouch * touch = [[allTouch] anyObject];失败。 – anothersanj
@anothersanj - 更新了我的答案! –
哇,太好了,谢谢!我的doSomething方法现在具有所选tableCell的indexPath。有没有什么办法让我把它传递给prepareForSegue方法或者通过编程方式触发didSelectRowAtIndexPath,这样segue就可以用正确的indexPath来执行了? – anothersanj