IOS:如何仅使用轻击手势来允许触发的转场和发送的动作

IOS: How to allow both triggered segues and sent actions using only a tap gesture

我正在创建一个简单的游戏,它有一个特定的图像,比如一个菜单按钮,带有点击手势。点击手势调用一个方法并转到视图控制器(我的游戏菜单)。我的问题是当我点击这张图片时,它忽略了第二个动作。下图更好地描述了我的点击手势。 PS: getBackToMenu 是我设置游戏某些属性的方法。

当你要执行segue动作时,可以在

中添加一些代码
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender

您可以使用 segue.destinationController 获取目标控制器,然后在那里设置一些属性作为仅传递一些数据。

顺便说一下,你可以识别哪个 segue 有效,添加

if ([segue.identifier isEqualToString:@"yourSegueName"])

您在这里所做的是直接从按钮触发 segue。因为这个 segue 首先执行。

做一件事,从按钮到视图控制器中删除 segue,并在具有某些标识符的控制器之间创建 segue。

然后实现这个方法

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    if ([[segue identifier] isEqualToString:@"YOUR_SEGUE_IDENTIFIER"])
    {
        YourViewController *vc = [segue destinationViewController];
        [vc setMyObjectHere:object];
    }
 }

然后在按钮按下事件上使用此方法执行 segue

- (IBAction)buttonPressed:(id)sender{
//Do your primary task here Then Call performseguewithidentifier method
[self performSegueWithIdentifier:@"YOUR_SEGUE_IDENTIFIER" sender:sender];}