計(jì)時(shí)器&時(shí)鐘

//計(jì)時(shí)器

{

//定義全局變量

//顯示時(shí)間

UILabel *_timerLabel;

//開(kāi)始計(jì)時(shí)和暫停的按鈕

UIButton*_startButton;

//復(fù)位按鈕

UIButton *_clearButton;

//計(jì)時(shí)的定時(shí)器

NSTimer *_timer;

//定義全局變量

int _second ;

int _minute ;

int _hour ;

}


- (void)viewDidLoad {

[super viewDidLoad];

_timerLabel= [[UILabel alloc] initWithFrame:CGRectMake(0, 100, 320, 50)];

_timerLabel.textAlignment=NSTextAlignmentCenter;

//枚舉類型可以用等號(hào)=數(shù)字

// _timerLabel.textAlignment = 1;

_timerLabel.font= [UIFont systemFontOfSize:30];

_timerLabel.text=@"00:00:00";

[self.view addSubview:_timerLabel];

_startButton= [[UIButton alloc] initWithFrame:CGRectMake(200, 200, 60, 60)];

_startButton.backgroundColor= [UIColor grayColor];

[_startButton setTitle:@"開(kāi)始" forState:UIControlStateNormal];

[_startButton setTitle:@"暫停" forState:UIControlStateSelected];

//圓形圖案

_startButton.layer.cornerRadius= 30;

//剪切邊界,imageview需要配置上一句使用砸捏,超出父視圖部分不顯示

// _startButton.clipsToBounds = YES;

[_startButton addTarget:self action:@selector(starBtnClick) forControlEvents:UIControlEventTouchUpInside];

[self.viewa ddSubview:_startButton];

_clearButton= [[UIButton alloc] initWithFrame:CGRectMake(60, 200, 60, 60)];

_clearButton.backgroundColor= [UIColor grayColor];

[_clearButton setTitle:@"復(fù)位" forState:UIControlStateNormal];

//圓形圖案

_clearButton.layer.cornerRadius= 30;

// _startButton.clipsToBounds = YES;

[_clearButton addTarget:self action:@selector(clearButClick) forControlEvents:UIControlEventTouchUpInside];

[self.view addSubview:_clearButton];

}

//開(kāi)始計(jì)時(shí)

-(void)starBtnClick {

//讓選中狀態(tài)取反變換按鈕的標(biāo)題

_startButton.selected = !_startButton.selected;

//判斷當(dāng)前狀態(tài)

//當(dāng)前狀態(tài)_startButton.selected == YES可以省略

// ??!_startButton.selected表示==NO

if(!_startButton.selected) {

//如果當(dāng)前不是選中狀態(tài),對(duì)應(yīng)的標(biāo)題是開(kāi)始

//關(guān)閉(銷毀)定時(shí)器

[_timer invalidate];

//銷毀定時(shí)器之后,_timer指針指向的內(nèi)容沒(méi)有對(duì)象,變成野指針,容易造成程序崩潰,所以把指針寫(xiě)為nil

//銷毀路徑防止指向錯(cuò)誤

_timer = nil;

} else {

//如果當(dāng)前是選中狀態(tài),對(duì)應(yīng)的標(biāo)題是暫停

//創(chuàng)建一個(gè)定時(shí)器控制時(shí)間的改變

_timer= [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(timerChange) userInfo:nil repeats:YES];

}

}

//清空,復(fù)位

- (void)clearButClick {

//暫停狀態(tài)中復(fù)位,顯示開(kāi)始

//把label時(shí)間歸0

_hour= 0;

_minute= 0;

_second= 0;

_timerLabel.text=@"00:00:00";

//顯示暫停,計(jì)時(shí)狀態(tài)中復(fù)位,

//判斷是否正在計(jì)時(shí),如果按鈕狀態(tài)是選中狀態(tài),表示正在計(jì)時(shí)

if(_startButton.selected) {

//銷毀定時(shí)器

[_timer invalidate];

_timer = nil;

//改變開(kāi)始按鈕狀態(tài)

_startButton.selected=NO;

}

}

//更新時(shí)間的方法

- (void)timerChange {

// ???//定義靜態(tài)變量

// ???static int second = 0;

// ???static int minute = 0;

// ???static int hour = 0;

//秒加1

_second++;

NSLog(@"%d",_second);

//如果到60秒,分鐘加1,秒歸0

if(_second == 60) {

_minute++;

_second= 0;

}

//如果到60分,時(shí)加1,分歸0

if(_minute == 60) {

_hour++;

_minute= 0;

}

//把屬性轉(zhuǎn)換為字符串

NSString *string = [NSString stringWithFormat:@"%.2d:%.2d:%.2d",_hour,_minute,_second];

//更新label的顯示內(nèi)容

_timerLabel.text= string;

}


//時(shí)鐘

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {

self.window= [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];

// Override point for customization after application launch.

hourLabel= [[UILabel alloc] initWithFrame:CGRectMake(10, 100, 100, 30)];

hourLabel.text=@"00";

hourLabel.backgroundColor= [UIColor yellowColor];

hourLabel.textAlignment=NSTextAlignmentCenter;

[self.window addSubview:hourLabel];

minuteLabel= [[UILabel alloc] initWithFrame:CGRectMake(110, 100, 100, 30)];

minuteLabel.text=@"00";

minuteLabel.backgroundColor= [UIColor yellowColor];

minuteLabel.textAlignment=NSTextAlignmentCenter;

[self.window addSubview:minuteLabel];

secondLabel= [[UILabel alloc] initWithFrame:CGRectMake(210, 100, 100, 30)];

secondLabel.text=@"00";

secondLabel.backgroundColor= [UIColoryellowColor];

secondLabel.textAlignment=NSTextAlignmentCenter;

[self.window addSubview:secondLabel];

timer= [NSTimer scheduledTimerWithTimeInterval:1.0 target:selfselector:@selector(timeCount) userInfo:nil repeats:YES];

// ???[timer fire];

_window.rootViewController= [[UIViewController alloc] init];

self.window.backgroundColor= [UIColor whiteColor];

[self.window makeKeyAndVisible];

return YES;

}

- (void)timeCount {

count++;

// ?/取商 。%取余

// ??130 / 60 = 2;

// ??130 % 60 = 10;

int second = count% 60;//(0 - 59)取秒

NSString *secondStr;

if(second < 10) {

secondStr = [NSString stringWithFormat:@"0%d",second];

}else{

secondStr = [NSString stringWithFormat:@"%d",second];

}

secondLabel.text= secondStr;

//假設(shè)count == 3600

int minute? = count/ 60 % 60;

NSString *minuteStr;

if(minute < 10) {

minuteStr = [NSString stringWithFormat:@"0%d",minute];

}else{

minuteStr = [NSString stringWithFormat:@"%d",minute];

}

minuteLabel.text= minuteStr;

int hour =count/ 3600 % 24;

NSString *hourStr;

if(hour < 10) {

hourStr = [NSString stringWithFormat:@"0%d",hour];

}else{

hourStr = [NSString stringWithFormat:@"%d",hour];

}

hourLabel.text= hourStr;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末呕缭,一起剝皮案震驚了整個(gè)濱河市驳遵,隨后出現(xiàn)的幾起案子宙拉,更是在濱河造成了極大的恐慌谢揪,老刑警劉巖删顶,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件咬清,死亡現(xiàn)場(chǎng)離奇詭異闭专,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)旧烧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門影钉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人掘剪,你說(shuō)我怎么就攤上這事平委。” “怎么了夺谁?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵廉赔,是天一觀的道長(zhǎng)肉微。 經(jīng)常有香客問(wèn)我,道長(zhǎng)蜡塌,這世上最難降的妖魔是什么碉纳? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮馏艾,結(jié)果婚禮上村象,老公的妹妹穿的比我還像新娘。我一直安慰自己攒至,他們只是感情好厚者,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著迫吐,像睡著了一般库菲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上志膀,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天熙宇,我揣著相機(jī)與錄音,去河邊找鬼溉浙。 笑死烫止,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戳稽。 我是一名探鬼主播馆蠕,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惊奇!你這毒婦竟也來(lái)了互躬?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤颂郎,失蹤者是張志新(化名)和其女友劉穎吼渡,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體乓序,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡寺酪,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了替劈。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片寄雀。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖抬纸,靈堂內(nèi)的尸體忽然破棺而出咙俩,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布阿趁,位于F島的核電站膜蛔,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏脖阵。R本人自食惡果不足惜皂股,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望命黔。 院中可真熱鬧呜呐,春花似錦、人聲如沸悍募。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)坠宴。三九已至洋魂,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間喜鼓,已是汗流浹背副砍。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庄岖,地道東北人豁翎。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像隅忿,于是被迫代替她去往敵國(guó)和親心剥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • // // JackDateAndDateView.m // ZHB // // Created by JackR...
    JackRen閱讀 412評(píng)論 0 1
  • 1硼控、改變 UITextField 占位文字 顏色和去掉底部白框 [_userName setValue:[UICo...
    i_MT閱讀 1,038評(píng)論 0 2
  • //設(shè)置尺寸為屏幕尺寸的時(shí)候self.window = [[UIWindow alloc] initWithFra...
    LuckTime閱讀 815評(píng)論 0 0
  • 聽(tīng)《一生所愛(ài)》有感 煙霧繚繞中 夢(mèng)回 記憶 化為蝶 酒 微醺 思念 不去思念 只在此刻 凝結(jié) 融進(jìn)一首 聽(tīng)不厭的 ...
    風(fēng)o南閱讀 215評(píng)論 0 3
  • 你怎么形容一個(gè)容貌與年齡不相符的人刘陶? 長(zhǎng)得著急?滄桑牢撼?有點(diǎn)老成?老積疑苫? 最近熏版,接觸很多奶茶店的店長(zhǎng),見(jiàn)識(shí)了不少他們...
    stitchyan閱讀 335評(píng)論 0 0