ipad app奇怪的行为

时间:2012-12-19 13:58:27

标签: ios ipad

我的ipad项目是基于主视图的视图。在详细视图的工具栏上有一个按钮,当用户点击按钮时,它会弹出一个弹出视图以显示四个按钮(如菜单)。按钮的三个动作如下所示(三个按钮显示三个不同的模型表单):

- (void) showOnlineSgf
{
    NSLog(@"showOnlineSgf");
    TGOOnlineSgfViewController *dlg =
    [[TGOOnlineSgfViewController alloc] initWithNibName:@"TGOOnlineSgfViewController"
                                                 bundle:nil];
    UINavigationController *nav = [[UINavigationController alloc]initWithRootViewController:dlg];

    [nav setModalPresentationStyle:UIModalPresentationFormSheet];
    [self presentViewController:nav animated:YES completion:nil];
    dlg = nil;
    nav = nil;
}

另一个按钮的操作是显示MFMailComposeViewController。代码如下:

- (void) emailCurrentGame
{
    NSLog(@"email current game");
    MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init];
    picker.mailComposeDelegate = self;
    [self presentModalViewController:picker animated:YES];
    picker = nil;
}

奇怪的行为是当我点击按钮时应执行showOnlineSgf(),但实际执行了emailCurrentGame()。当我在showOnlineSgf()中设置一个断点时,它被点击,并且一步一步地执行showOnlineSgf()中的每个语句。但屏幕上的结果是MFMainComposeViewController出现。

我知道这个问题很难回答。任何想法都表示赞赏。

2 个答案:

答案 0 :(得分:1)

检查触发UIButton的{​​{1}}的出口连接。您最有可能复制粘贴在Interface Builder中的showOnlineSgf,这会导致它复制其指定的操作。然后,您已关联其他操作,导致UIButton有两个操作。

要解决此问题,只需断开UIButton触发UIButton showOnlineSgf行动的emailCurrentGame

答案 1 :(得分:1)

听起来像是在界面构建器中复制粘贴已连接的按钮。检查按钮是否分配了多个操作。