行动表之前的现有模态视图完全被驳回

时间:2009-02-23 17:59:09

标签: iphone objective-c cocoa-touch

在操作表完全被解除之前,有没有办法提供模态视图控制器视图?我试图在这里做,但似乎回调必须在模态视图出现之前完成:

- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
{   
    if (0 == buttonIndex) {     // clicked 'Are you sure?' button
        [self splashScreen:YES];
...

然后我基本上做了:

[[AppDelegate tabBarController] presentModalViewController:self.TMX_splashViewController animated:YES];

我的问题是,我想回答“你确定吗?”操作表中的按钮,然后在我做模式视图控制器时显示进度指示器(进行批量上传)。但似乎行动表正在阻碍;)

解: 在呈现模态视图控制器之前,我稍微延迟了一下。我不确定我是否完全理解这一点,但似乎存在某种竞争条件,其中代码的工作块将“超前”模态表示代码。稍微延迟后似乎工作。嗯,这很奇怪!

[self splashScreen:YES];                
NSTimer *timer;
timer = [NSTimer scheduledTimerWithTimeInterval:0.75
        target: self selector:@selector(waitForSplashTimer:) userInfo: nil repeats: NO];

1 个答案:

答案 0 :(得分:2)

你也可以使用-performSelector:withObject:afterDelay:,代码少一点,更容易阅读:

[self performSelector: @selector(waitForSplashTimer:) withObject: nil afterDelay: 0.75];