国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > iOS > 正文

iOS實(shí)現(xiàn)簡(jiǎn)易鐘表

2020-07-26 02:18:07
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本文實(shí)例為大家分享了iOS實(shí)現(xiàn)簡(jiǎn)易鐘表的具體代碼,供大家參考,具體內(nèi)容如下

效果圖:

注意:表盤是一個(gè)UIImageView控件,設(shè)置image為表盤圖片

核心代碼:

//// ViewController.m// 時(shí)鐘//// Created by llkj on 2017/8/29.// Copyright © 2017年 LayneCheung. All rights reserved.//#import "ViewController.h"http://每一秒旋轉(zhuǎn)多少度#define perSecA 6//每一分旋轉(zhuǎn)多少度#define perMinA 6//每一小時(shí)旋轉(zhuǎn)多少度#define perHourA 30//每一分時(shí)針旋轉(zhuǎn)的度數(shù)#define perMinHour 0.5//角度轉(zhuǎn)弧度#define angle2Rad(angle) ((angle) / 180.0 * M_PI)@interface ViewController ()@property (weak, nonatomic) IBOutlet UIImageView *clockView;@property (nonatomic, weak) CALayer *secL;@property (nonatomic, weak) CALayer *minL;@property (nonatomic, weak) CALayer *hourL;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; [self setHour]; [self setMin]; [self setSec]; [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(timeChange) userInfo:nil repeats:YES]; [self timeChange];}- (void)timeChange{ //獲取當(dāng)前秒 NSCalendar *cal = [NSCalendar currentCalendar]; NSDateComponents *cmp = [cal components:NSCalendarUnitSecond | NSCalendarUnitMinute | NSCalendarUnitHour fromDate:[NSDate date]]; NSInteger curSec = cmp.second + 1; NSInteger curMin = cmp.minute; NSInteger curHour = cmp.hour; //秒針開始旋轉(zhuǎn) //計(jì)算秒針當(dāng)前旋轉(zhuǎn)的角度 // angle = 當(dāng)前多少秒 * 每一秒旋轉(zhuǎn)多少度 CGFloat secA = curSec * perSecA; //旋轉(zhuǎn)方向是Z軸 self.secL.transform = CATransform3DMakeRotation(angle2Rad(secA), 0, 0, 1); //分針開始旋轉(zhuǎn) //計(jì)算分針當(dāng)前旋轉(zhuǎn)的角度 // angle = 當(dāng)前多少分 * 每一分旋轉(zhuǎn)多少度 CGFloat minA = curMin * perMinA; self.minL.transform = CATransform3DMakeRotation(angle2Rad(minA), 0, 0, 1); //時(shí)針開始旋轉(zhuǎn) //計(jì)算時(shí)針當(dāng)前旋轉(zhuǎn)的角度 // angle = 當(dāng)前多少時(shí) * 每一小時(shí)旋轉(zhuǎn)多少度 CGFloat hourA = curHour * perHourA + curMin * perMinHour; self.hourL.transform = CATransform3DMakeRotation(angle2Rad(hourA), 0, 0, 1);}//添加秒針- (void)setSec{ CALayer *secL = [CALayer layer]; secL.bounds = CGRectMake(0, 0, 1, 80); secL.backgroundColor = [UIColor redColor].CGColor; //繞著錨點(diǎn)旋轉(zhuǎn) secL.anchorPoint = CGPointMake(0.5, 1); secL.position = CGPointMake(self.clockView.bounds.size.width * 0.5, self.clockView.bounds.size.height * 0.5); [self.clockView.layer addSublayer:secL]; self.secL = secL;}//添加分針- (void)setMin{ CALayer *minL = [CALayer layer]; minL.bounds = CGRectMake(0, 0, 3, 70); minL.cornerRadius = 1.5; minL.backgroundColor = [UIColor blackColor].CGColor; minL.anchorPoint = CGPointMake(0.5, 1); minL.position = CGPointMake(self.clockView.bounds.size.width * 0.5, self.clockView.bounds.size.height * 0.5); [self.clockView.layer addSublayer:minL]; self.minL = minL;}//添加時(shí)針- (void)setHour{ CALayer *hourL = [CALayer layer]; hourL.bounds = CGRectMake(0, 0, 3, 60); hourL.backgroundColor = [UIColor blackColor].CGColor; hourL.anchorPoint = CGPointMake(0.5, 1); hourL.position = CGPointMake(self.clockView.bounds.size.width * 0.5, self.clockView.bounds.size.height * 0.5); [self.clockView.layer addSublayer:hourL]; self.hourL = hourL;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 江门市| 湟源县| 淮南市| 微博| 刚察县| 鸡东县| 邵武市| 米易县| 榆中县| 元谋县| 庐江县| 三明市| 江达县| 随州市| 河东区| 大石桥市| 民县| 永顺县| 鲜城| 开封县| 壶关县| 乐都县| 瑞丽市| 攀枝花市| 贵州省| 吉林省| 沂水县| 安庆市| 酒泉市| 福清市| 个旧市| 北流市| 福安市| 宝兴县| 舟山市| 闸北区| 山阳县| 沁源县| 阳山县| 都兰县| 绍兴县|