IOS - Segue - 检测点击了哪个图像

时间:2014-04-14 13:53:27

标签: ios segue uistoryboardsegue

我正在研究IOS。我正在使用图像而不是按钮。在一个控制器与另一个控制器之间存在一个区域。因此,根据单击的图像,我想在SecondController中加载特定信息。所以我想知道可以检测哪个图像被点击,然后将图像名称或标题或我可以检测到的任何东西传递到另一个控制器使用Segue。另一种方式是两个在图像上有透明按钮然后得到Tag值。 -(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { NSInteger tagIndex = [(UIButton *)sender tag]; if (([segue.identifier isEqualToString:@"rightImageSegue"])) { SecondViewController *destViewController = segue.destinationViewController; [destViewController setSelectedButton:tagIndex]; } } 但我想知道,如果我能以某种方式检测到哪个图像被点击,那么为什么需要额外的代码。

{{1}}

2 个答案:

答案 0 :(得分:1)

有几种方法可以做到这一点。首先,UIButtons实际上可以有一个背景图像,您可以将其设置为各种图像。如果您打算使用UIImageView,则必须实施其触摸事件接收方法并自行处理。无论哪种方式,您都可以使用performSegueWithIdentifier:

答案 1 :(得分:0)

您可以通过检查storyboard / xib的“属性”检查器中的启用用户交互来使图像可触摸。

检查完该框后,您需要在xib / storyboard中添加一个点击手势识别器。

然后选择图像视图并将Connections Inspector中的手势识别器插座连接到该轻触手势识别器。还要将tap手势识别器的代理连接到某个类。然后,您可以在该类中实现您的点击手势委托方法,并在图像点击上相应地执行操作。可能是您应该从委托方法调用performSegueWithIdentifier:调用,以根据图像标记调用所需的segue。