取消alertview的功能

时间:2013-10-16 13:07:34

标签: iphone ios objective-c

在我的应用程序中有两个场景。在第一个视图控制器中我使用了uialertview,它会在30秒后弹出。如果我在30秒之前移动到下一个场景意味着,第一个场景的UiAlertview不应该弹出。

2 个答案:

答案 0 :(得分:3)

使用计时器,当你处于消失的视图时,取消计时器:

   self.myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0f
                                                      target:self
                                                    selector:@selector(showPopUp)
                                                    userInfo:nil
                                                     repeats:YES];

然后:

-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];

    [self.myTimer invalidate];
}

答案 1 :(得分:0)

将Timer变量作为全局

NSTimer *Timer;

Timer = [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@selector(showAlert) userInfo:nil repeats:YES];

-(void)showAlert
{
   //show your alert view;
}

使用viewWillDisappear方法禁用您的计时器,以防止您在下一个viewcontroller中时显示警报

-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [Timer invalidate];
}