您的位置:首页 > 移动开发 > Objective-C

6.倒计时界面

2015-06-10 15:07 447 查看
实现功能:倒计时10s,点击开始按钮可以开始倒计时,点击暂停按钮,实现暂停功能,然后设置一个恢复按钮,点击该按钮可以暂停计时并且时间显示为10。

过程分析:首先通过storyboard搭建界面,使用页面自动布局,此处有个小小的技巧:在Xcode6.2中默认是打开自动布局的,界面看着令人不舒服,先将自动布局关闭然后再打开,视图控制器是不是显得很顺眼啦?  然后是调整位置:选中你需要调节的视图,然后点击storyboard右下角的小按钮,这真是个神奇的东东,虽然我还不是太懂。

最后就是代码实现。

效果演示:



1.代码实现:

- (IBAction)begin:(UIBarButtonItem *)sender {
// 开始按钮
// 倒计时10秒 每秒更新一次

/*
参数说明:
1.时间间隔 double型
2.监听时钟触发的对象
3.调用方法
4.useerInfo 可以是任何对象 通常传递nil
5.是否重复

*/
// 如果几时到达零 点击开始按钮则从新计时
if (_counterTime.text.intValue == 0) {
_counterTime.text = @"10";
}
self.time = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateTime:) userInfo:nil repeats:YES];

}

- (void)updateTime:(NSTimer *)timer
{
int count = _counterTime.text.intValue ;
// 判断是否为零
if (--count < 0 ) {
[self pause];
}else
self.counterTime.text = [NSString stringWithFormat:@"%d",count];

}
- (IBAction)pause {

// 停止始终 invalidate是唯一停止始终始终的方法
[self.time invalidate];

}
- (IBAction)return:(UIBarButtonItem *)sender {
[self pause];
self.counterTime.text = [NSString stringWithFormat:@"%d",10];
[self.time invalidate]; // 如果放在上面就不正常

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  UI objective-c