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];}
我正在创建一个简单的游戏,它有一个特定的图像,比如一个菜单按钮,带有点击手势。点击手势调用一个方法并转到视图控制器(我的游戏菜单)。我的问题是当我点击这张图片时,它忽略了第二个动作。下图更好地描述了我的点击手势。 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];}