0

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

4

2 回答 2

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];
}
于 2013-10-16T13:09:55.163 回答
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方法禁用计时器以防止在下一个视图控制器中时不显示警报

-(void)viewWillDisappear:(BOOL)animated
{
    [super viewWillDisappear:animated];
    [Timer invalidate];
}
于 2013-10-16T18:18:08.337 回答