zoukankan      html  css  js  c++  java
  • 简单的秒表定时器

     简单的秒表定时器

    思路:

    1.分别添加秒表中的上部分,样式如 00 :00 : 00 . 00,分别表示时,分,秒,毫秒一共用7个labe实现

    2.设置按钮,分别是开始,停止,复位

    3,通过字符串转换成数字,和数字转换成字符串来进行秒表的设计

      1 #import "ViewController.h"
      2 
      3 #import "UIView+FrameExtension.h"
      4 
      7 #define kDeviceWidth [UIScreen mainScreen].bounds.size.width
      8 
      9 #define kDeviceHeight [UIScreen mainScreen].bounds.size.height
     10 
     13 @interface ViewController (){
     14 
     15     UILabel *_lbl1;
     16 
     17     UILabel *_lbl2;
     18 
     19     UILabel *_lbl3;
     20 
     21     UILabel *_lbl4;
    
     25     NSTimer *_timer;
     26 
     27     BOOL    _isRunning;
     28 
     29 }
     33 @end
     34 
     37 @implementation ViewController
     38 
     41 - (void)viewDidLoad {
     42 
     43     [super viewDidLoad];
     44 
     47     [self createLabel];     //创建7个标签
     48 
     49     [self createTimer];     //创建1个定时器
     50 
     51     [self createButton];    //创建3个按
     52 
     53 }
     54 
     57 -(void)createLabel{
    
     61     UILabel *lbl1 = [[UILabel alloc]initWithFrame:CGRectMake(90, 200, 30, 40)];
     62 
     63     lbl1.text = @"00";
     64 
     65     lbl1.textColor = [UIColor redColor];
     66 
     67     [self.view addSubview:lbl1];
     68 
     69     _lbl1 = lbl1;
     70 
     73     UILabel *lbl11 = [[UILabel alloc]initWithFrame:CGRectMake(lbl1.right, lbl1.y, 10, lbl1.height)];
     74 
     75     lbl11.text = @":";
     76 
     77     lbl11.textColor = [UIColor redColor];
     78 
     79     [self.view addSubview:lbl11];
     80 
     83      UILabel *lbl2 = [[UILabel alloc]initWithFrame:CGRectMake(lbl11.right, lbl1.y, lbl1.width, lbl1.height)];
     84 
     85     lbl2.text = @"00";
     86 
     87     lbl2.textColor = [UIColor redColor];
     88 
     89     [self.view addSubview:lbl2];
     90 
     91     _lbl2 = lbl2;
     92 
     95     UILabel *lbl22 = [[UILabel alloc]initWithFrame:CGRectMake(lbl2.right, lbl1.y, lbl11.width, lbl1.height)];
     96 
     97     lbl22.text = @":";
     98 
     99     lbl22.textColor = [UIColor redColor];
    100 
    101     [self.view addSubview:lbl22];
    102 
    103     UILabel *lbl3 = [[UILabel alloc]initWithFrame:CGRectMake(lbl22.right, lbl1.y, lbl1.width, lbl1.height)];
    104 
    105     lbl3.text = @"00";
    106 
    107     lbl3.textColor = [UIColor redColor];
    108 
    109     [self.view addSubview:lbl3];
    110 
    111     _lbl3 = lbl3;
    112 
    115     UILabel *lbl33 = [[UILabel alloc]initWithFrame:CGRectMake(lbl3.right, lbl1.y, lbl11.width, lbl1.height)];
    116 
    117     lbl33.text = @".";
    118 
    119     lbl33.textColor = [UIColor redColor];
    120 
    121     [self.view addSubview:lbl33]; 
    122 
    123     UILabel *lbl4 = [[UILabel alloc]initWithFrame:CGRectMake(lbl33.right, lbl1.y, lbl1.width, lbl1.height)];
    124 
    125     lbl4.text = @"00";
    126 
    127     lbl4.textColor = [UIColor redColor];
    128 
    129     [self.view addSubview:lbl4];
    130 
    131     _lbl4 = lbl4;
    132 
    137 }
    
    141 -(void)createButton{
    142  
    146 
    147     UIButton *btn1 = [[UIButton alloc]initWithFrame:CGRectMake(70, _lbl1.bottom+20, 60, 40)];
    148 
    149     [btn1 setTitle:@"开始" forState:UIControlStateNormal];
    150 
    151     [self.view addSubview:btn1];
    152 
    153     [btn1 setBackgroundImage:[UIImage imageNamed:@"logoff_btn_s"] forState:UIControlStateNormal];
    154 
    155     [btn1 setBackgroundImage:[UIImage imageNamed:@"submit_discussion_n"] forState:UIControlStateHighlighted];
    156 
    157     [btn1 addTarget:self action:@selector(start ) forControlEvents:UIControlEventTouchUpInside];
    158 
    163     UIButton *btn2 = [[UIButton alloc]initWithFrame:CGRectMake(btn1.right+10, btn1.y, btn1.width, btn1.height)];
    164 
    165     [btn2 setTitle:@"停止" forState:UIControlStateNormal];
    166 
    167     [self.view addSubview:btn2];
    168 
    169     [btn2 setBackgroundImage:[UIImage imageNamed:@"logoff_btn_s"] forState:UIControlStateNormal];
    170 
    171     [btn2 setBackgroundImage:[UIImage imageNamed:@"submit_discussion_n"] forState:UIControlStateHighlighted];
    172 
    173     [btn2 addTarget:self action:@selector(stop ) forControlEvents:UIControlEventTouchUpInside];
    174 
    179     UIButton *btn3 = [[UIButton alloc]initWithFrame:CGRectMake(btn2.right+10,btn1.y , btn1.width, btn1.height)];
    180 
    181     [btn3 setTitle:@"复位" forState:UIControlStateNormal];
    182 
    183     [self.view addSubview:btn3];
    184 
    185     [btn3 setBackgroundImage:[UIImage imageNamed:@"logoff_btn_s"] forState:UIControlStateNormal];
    186 
    187     [btn3 setBackgroundImage:[UIImage imageNamed:@"submit_discussion_n"] forState:UIControlStateHighlighted];
    188 
    189     [btn3 addTarget:self action:@selector(fuwei ) forControlEvents:UIControlEventTouchUpInside];
    190 
    191 }
    192 
    195 -(void)start{
    
    199     [[NSRunLoop mainRunLoop] addTimer:_timer forMode:NSRunLoopCommonModes];
    200 
    201     _isRunning = YES;
    202   
    204 
    205     if (_isRunning) {       //表示定时器正在运行
    206 
    207         [_timer setFireDate:[NSDate distantPast]];
    208 
    211     }else{
    212 
    213         [_timer setFireDate:[NSDate distantFuture]];
    214 
    215     }
    216 
    217 }
    218 
    221 -(void)stop{
    222 
    225 _isRunning = !_isRunning; 226 229 if (_isRunning) { // 表示定时器正在运行 230 233 }else{ 234 235 [_timer setFireDate:[NSDate distantFuture]]; 236 237 } 238 239 _isRunning = NO; 240 241 } 242 245 -(void)fuwei{ 246 251 NSString* str4 = _lbl4.text; 252 253 NSString* str3 = _lbl3.text; 254 255 NSString* str2 = _lbl2.text; 256 257 NSString* str1 = _lbl1.text; 258 261 int x4 = [str4 intValue]; 262 263 int x3 = [str3 intValue]; 264 265 int x2 = [str2 intValue]; 266 267 int x1 = [str1 intValue]; 268 271 x4 = x3 = x2 = x1 = 0; 272 275 NSString* str44 = [NSString stringWithFormat:@"%02d",x4]; 276 277 NSString* str33 = [NSString stringWithFormat:@"%02d",x3]; 278 279 NSString* str22 = [NSString stringWithFormat:@"%02d",x2]; 280 281 NSString* str11 = [NSString stringWithFormat:@"%02d",x1]; 282 283 _lbl4.text = str44; 284 285 _lbl3.text = str33; 286 287 _lbl2.text = str22; 288 289 _lbl1.text = str11; 290 293 _isRunning = !_isRunning; 294 297 if (_isRunning) { // 表示定时器正在运行 298 301 }else{ 302 303 [_timer setFireDate:[NSDate distantFuture]]; 304 305 } 306 307 _isRunning = NO; 308 311 } 312 315 -(void)createTimer{ 319 _timer = [NSTimer timerWithTimeInterval:0.01 target:self selector:@selector(move ) userInfo:nil repeats:YES]; 320 323 _isRunning = NO; 324 327 // 下面这种方法创建的定时器,会自动的加入运行循环 328 329 // _timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(move) userInfo:nil repeats:YES]; 330 331 } 332 334 335 -(void)move{ 336 339 NSString* str4 = _lbl4.text; 340 341 NSString* str3 = _lbl3.text; 342 343 NSString* str2 = _lbl2.text; 344 345 NSString* str1 = _lbl1.text; 346 349 int x4 = [str4 intValue]; 350 351 int x3 = [str3 intValue]; 352 353 int x2 = [str2 intValue]; 354 355 int x1 = [str1 intValue]; 356 359 x4++; 360 363 if (x4 == 100 ) { 364 365 x3 = x3 + 1; 366 367 x4 = 0; 368 369 if (x3 == 60) { 370 371 x2 = x2 + 1; 372 373 x3 = 0; 374 375 if (x2 == 60 ) { 376 377 x1 = x1 + 1; 378 379 x2 = 0; 380 381 if (x1 == 24 ) { 382 383 x4 = x3 = x2 = x1 = 0; 384 385 } 386 387 } 388 389 } 390 391 } 392 394 395 NSString* str44 = [NSString stringWithFormat:@"%02d",x4]; 396 397 NSString* str33 = [NSString stringWithFormat:@"%02d",x3]; 398 399 NSString* str22 = [NSString stringWithFormat:@"%02d",x2]; 400 401 NSString* str11 = [NSString stringWithFormat:@"%02d",x1]; 402 403 _lbl4.text = str44; 404 405 _lbl3.text = str33; 406 407 _lbl2.text = str22; 408 409 _lbl1.text = str11; 410 411 } 412 413 @end



    开始

    停止

    复位

    源文件在这里,希望可以帮到你:http://pan.baidu.com/s/1kVhHiHh

  • 相关阅读:
    PHP上传文件
    PHP文件系统操作常用函数
    利用ini_set()函数实现对php配置文件的修改
    文本文件合并(C++实现)
    手把手教你在新浪云上免费部署自己的网站--连接数据库
    手把手教你在新浪云上免费部署自己的网站---基础
    update2
    在Windows命令行中编译运行C/C++程序
    【转】CSS颜色代码大全
    (html4与html5分别实现)用一个表单向php界面提交不同的命令
  • 原文地址:https://www.cnblogs.com/ljcgood66/p/5375219.html
Copyright © 2011-2022 走看看