最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

一個iOS上的秒表小應(yīng)用的實現(xiàn)方法分享

 更新時間:2015年10月29日 09:51:38   作者:念茜  
這篇文章主要介紹了一個iOS上的秒表小應(yīng)用的實現(xiàn)方法分享,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下

模仿實現(xiàn)一下ios系統(tǒng)應(yīng)用時鐘里的秒表程序,就是這個應(yīng)用:

2015102994851336.png (324×486)

主要實現(xiàn)的功能:
1.由start/stop鍵實現(xiàn)計時
2.有reset/lap鍵實現(xiàn)復(fù)位和計次

需要思考的點:
1.時間的表示方法(有很多種思路)
2.計次數(shù)據(jù)的倒序排列,即計次1的數(shù)據(jù)在最底端,依次向上為計次2,計次3的時間數(shù)據(jù)

我的實現(xiàn):
ARC省去了我們自行管理內(nèi)存的大部分事情,寫慣了c++于是舒服了很多

復(fù)制代碼 代碼如下:

- (IBAction) startOrstop:(UIButton *)sender 

    //點擊切換按鈕背景圖 
    UIImage *newImage = (checked) ? [UIImage imageNamed:@"red.png"] : [UIImage imageNamed:@"green.png"]; 
    [leftBtn setBackgroundImage:newImage forState:UIControlStateNormal]; 
     
    NSString *titlel = (checked) ? (@"Stop") : (@"Start"); 
    [leftBtn setTitle:titlel forState:UIControlStateNormal]; 
    NSString *titler = (checked) ? (@"Lap") : (@"Reset"); 
    [rightBtn setTitle:titler forState:UIControlStateNormal]; 
   
       
    if (checked)   //start 
    { 
        timer = [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateTime) userInfo:nil repeats:YES]; 
    }else {        //stop 
        [timer invalidate]; 
    } 
     
    checked = !checked; 

 
- (IBAction) resetOrLap:(UIButton *)sender 

    static NSInteger count = 1; 
     
    if (checked) //reset 
    { 
        time = time_lap = 0.0; 
        timestr = [NSString stringWithFormat:@"00:00.0"]; 
        [label setText:timestr]; 
        list_time = list_lap = nil; 
        count = 1; 
        [tableview reloadData]; 
         
    }else {      //lap 
        if (list_time == nil) { 
            list_time = [[NSArray alloc]initWithObjects:timestr_lap, nil]; 
            list_lap = [[NSArray alloc]initWithObjects:[NSString stringWithFormat:@"%d",count++], nil]; 
        }else { 
#if 0 
            [list arrayByAddingObject:timestr]; 
#else 
            NSArray *array = [[NSArray alloc]initWithObjects:timestr_lap, nil]; 
            list_time = [array arrayByAddingObjectsFromArray:list_time]; 
            array = [[NSArray alloc]initWithObjects:[NSString stringWithFormat:@"%d",count++], nil]; 
            list_lap = [array arrayByAddingObjectsFromArray:list_lap]; 
#endif 
        } 
        time_lap = 0; 
        [tableview reloadData]; 
     } 

 
- (float) updateTime 

    time+=0.1; 
    time_lap +=0.1; 
    timestr = [NSString stringWithFormat:@"%02d:%04.1f",(int)(time / 60) ,time - ( 60 * (int)( time / 60 ) )]; 
    timestr_lap = [NSString stringWithFormat:@"%02d:%04.1f",(int)(time_lap / 60) ,time_lap - ( 60 * (int)( time_lap / 60 ) )]; 
    [label setText:timestr]; 
    return time; 

 
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

    return [list_time count]; 

 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 

    static NSString *tableViewIdentifier = @"tableViewIdentifier"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:tableViewIdentifier]; 
    if (cell == nil) { 
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:tableViewIdentifier];  
    } 
     
    NSUInteger row = [indexPath row]; 
     
    cell.detailTextLabel.text = [list_time objectAtIndex:row]; 
    cell.detailTextLabel.textColor = [UIColor blackColor]; 
    cell.detailTextLabel.font = [UIFont boldSystemFontOfSize:25.0]; 
    cell.detailTextLabel.textAlignment = UITextAlignmentCenter; 
     
    NSString *text = [[NSString alloc]initWithFormat:@"lap %@", [list_lap objectAtIndex:row]]; 
    cell.textLabel.text = text; 
    return cell; 

 


2015102994921137.png (320×480)

2015102994939154.png (320×480)

待改進(jìn)的地方:
1.對于時間的計時操作和UI事件應(yīng)該分不同線程實現(xiàn),這里我偷懶了
2.對于時間的表示方法其實也是很偷懶的,沒有按照標(biāo)準(zhǔn)的秒分進(jìn)位表示

相關(guān)文章

  • iOS視頻編輯之添加音軌的方法

    iOS視頻編輯之添加音軌的方法

    本篇文章主要介紹了iOS視頻編輯之添加音軌的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • IOS 創(chuàng)建彩色二維碼實例詳解

    IOS 創(chuàng)建彩色二維碼實例詳解

    這篇文章主要介紹了IOS 創(chuàng)建彩色二維碼實例詳解的相關(guān)資料,這里提供實例代碼,需要的朋友可以參考下
    2016-12-12
  • iOS App開發(fā)中用CGContextRef繪制基本圖形的基本示例

    iOS App開發(fā)中用CGContextRef繪制基本圖形的基本示例

    這篇文章主要介紹了iOS App開發(fā)中用CGContextRef繪制基本圖形的基本示例,CGContextRef同時可以進(jìn)行圖形顏色的填充以及文字的書寫,需要的朋友可以參考下
    2016-05-05
  • iOS11實現(xiàn)App內(nèi)自動連接Wi-Fi的方法

    iOS11實現(xiàn)App內(nèi)自動連接Wi-Fi的方法

    這篇文章主要給大家介紹了關(guān)于iOS11實現(xiàn)App內(nèi)自動連接Wi-Fi的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-10-10
  • iOS實現(xiàn)微信/QQ顯示最近拍攝圖片的功能實例代碼

    iOS實現(xiàn)微信/QQ顯示最近拍攝圖片的功能實例代碼

    如果你剛剛拍攝了圖片,在使用微信/QQ發(fā)生消息時會顯示“你可能要發(fā)送的圖片”,這個功能非常人性化,怎么實現(xiàn)的呢?下面小編給大家分享iOS實現(xiàn)微信/QQ顯示最近拍攝圖片的功能實例代碼,一起看看吧
    2017-03-03
  • iOS開發(fā)之觸摸事件以及手勢

    iOS開發(fā)之觸摸事件以及手勢

    這篇文章主要為大家詳細(xì)介紹了iOS開發(fā)之觸摸事件以及手勢的相關(guān)資料,感興趣的小伙伴們可以參考一下
    2016-04-04
  • iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實例代碼

    iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實例代碼

    本篇文章主要介紹了iOS 本地視頻和網(wǎng)絡(luò)視頻流播放實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • iOS圖片模糊效果的實現(xiàn)方法

    iOS圖片模糊效果的實現(xiàn)方法

    這篇文章主要為大家詳細(xì)介紹了iOS圖片模糊效果的三種實現(xiàn)方式,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 淺談IOS如何對app進(jìn)行安全加固

    淺談IOS如何對app進(jìn)行安全加固

    運(yùn)行在越獄設(shè)備上的IOS app,非常容易遭到破解分析,這里列舉一些可以加大破解難度的方法,希望有所幫助。
    2021-06-06
  • iOS中containsString和rangeOfString的區(qū)別小結(jié)

    iOS中containsString和rangeOfString的區(qū)別小結(jié)

    這篇文章主要給大家總結(jié)介紹了關(guān)于iOS中containsString和rangeOfString的一些區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01

最新評論

祁门县| 鹰潭市| 柘城县| 托克逊县| 青海省| 微博| 抚宁县| 宜君县| 庆城县| 抚松县| 河曲县| 连江县| 光山县| 宿迁市| 福清市| 奈曼旗| 伊春市| 南澳县| 文成县| 西藏| 峨眉山市| 双牌县| 兰西县| 沙湾县| 花垣县| 梅河口市| 万载县| 逊克县| 黑河市| 巫溪县| 宾阳县| 资兴市| 灵丘县| 珠海市| 弋阳县| 岳阳县| 江达县| 林州市| 乌拉特前旗| 平原县| 盐山县|