如何使用alertview进行倒计时ios

时间:2016-06-07 07:15:09

标签: ios swift

例如,我想制作一个计时器,剩余的时间将显示在alertview中。每次Nstimer更新后,alertview中的数字将减1,当数字等于0时,它将自动消失。那么如何在代码中实现这一点。(swift)

1 个答案:

答案 0 :(得分:0)

我不太了解,所以这里是Obj-C代码(我相信你可以很容易地转换为swift)。

@property (nonatomic, strong) UIAlertView* alertView;
@property (nonatomic) int remainingSeconds;
//...

self.remainingSeconds = 10;
NSString *msg = [NSString stringWithFormat:@"Something will happen in %d seconds", self.remainingSeconds];
self.alertView = [[UIAlertView alloc] initWithTitle:@"Some title"
                                            message:msg
                                           delegate:self
                                  cancelButtonTitle:@"Cancel"
                                   otherButtonTitle:@"Ok"];
[self.alertView show];                                          

以1秒的间隔安排计时器。

- (void)timerTick:(NSTimer *)timer
{
    self.remainingSeconds--;
    if (self.remainingSeconds == 0) {
         //dismiss alertview
         return;
    }
    NSString *msg = [NSString stringWithFormat:@"Something will happen in %d seconds", self.remainingSeconds];      
    [self.alertView setMessage:msg];
}

请注意,这是直接在StackOverflow编辑器中编写的快速代码,因此可能会出现一些语法错误。