zoukankan      html  css  js  c++  java
  • iOS 倒计时

    //
    //  RootViewController.m
    //  MyTimerDemo
    //  Created by huluo on 1/21/14.
    //  Copyright (c) 2014 bluemobi.cn. All rights reserved.
    //
    
    #import "RootViewController.h"
    @interface RootViewController ()
    @end
    @implementation RootViewController { UITableView *timerTableView; NSMutableArray *timeArr; NSTimer *myTimer; NSDate *startDate; NSDate* futureDate; } - (void)dealloc { [timerTableView release]; [timeArr release]; [myTimer invalidate]; [super dealloc]; } - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. self.view.backgroundColor=[UIColor brownColor]; timeArr=[[NSMutableArray alloc]initWithCapacity:0]; for (int i=0; i<5; i++) { int random=arc4random()%10000+1;//1~10000 NSTimeInterval deltTime = (NSTimeInterval)random; futureDate = [[NSDate date] dateByAddingTimeInterval:deltTime]; //未来时间 [timeArr addObject:futureDate]; } timerTableView=[[UITableView alloc]initWithFrame:CGRectMake(0, 0, 320, 480) style:UITableViewStylePlain]; timerTableView.delegate=self; timerTableView.dataSource=self; [self.view addSubview:timerTableView]; myTimer=[NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(refreshTime) userInfo:nil repeats:YES]; } #pragma mark ----tableView---- -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return [timeArr count]; } - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { return 50.0f; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { UITableViewCell* cell=(UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:@"cell"]; if(cell==nil) { cell=[[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"]autorelease]; } NSDate *toDate=[timeArr objectAtIndex:indexPath.row]; startDate = [NSDate date]; long leftSeconds=[toDate timeIntervalSinceDate:startDate]; NSInteger seconds = leftSeconds % 60; NSInteger minutes = (leftSeconds / 60) % 60; NSInteger hours = leftSeconds / (60 * 60); if (hours==0) { cell.textLabel.text = [NSString stringWithFormat:@"%02d:%02d", minutes, seconds]; }else{ cell.textLabel.text = [NSString stringWithFormat:@"%02d:%02d:%02d", hours, minutes, seconds]; } return cell; } //刷新时间 -(void)refreshTime { startDate = [ [ NSDate date]; [timerTableView reloadData]; }
  • 相关阅读:
    仿pinterest实现瀑布流布局效果
    .NET执行cmd时,如何调试命令的执行效果
    在Sharepoint 2007 整合Discuz Nt论坛
    如何使用EWS获取邮件及其附件
    启明星win7桌面天气预报软件下载与使用方法(带时间)
    【helpdesk】启明星helpdesk7.0版本里,实现邮件提交功能介绍和原理
    微软.NET设计上的一个错误(从.NET1.14.0),不知道以后.NET会不会修复这个错误
    什么是Traceback Ping
    用ASP生成RSS以及讀取RSS
    [轉]訂單編號方式探討
  • 原文地址:https://www.cnblogs.com/hl666/p/3655272.html
Copyright © 2011-2022 走看看