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

iOS實現簡易鐘表

 更新時間:2020年02月21日 07:33:40   作者:LayneCheung  
這篇文章主要為大家詳細介紹了iOS實現簡易鐘表,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了iOS實現簡易鐘表的具體代碼,供大家參考,具體內容如下

效果圖:

注意:表盤是一個UIImageView控件,設置image為表盤圖片

核心代碼:

//
// ViewController.m
// 時鐘
//
// Created by llkj on 2017/8/29.
// Copyright © 2017年 LayneCheung. All rights reserved.
//

#import "ViewController.h"

//每一秒旋轉多少度
#define perSecA 6
//每一分旋轉多少度
#define perMinA 6
//每一小時旋轉多少度
#define perHourA 30

//每一分時針旋轉的度數
#define perMinHour 0.5
//角度轉弧度
#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{

 //獲取當前秒
 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;

 //秒針開始旋轉
 //計算秒針當前旋轉的角度
 // angle = 當前多少秒 * 每一秒旋轉多少度
 CGFloat secA = curSec * perSecA;
 //旋轉方向是Z軸
 self.secL.transform = CATransform3DMakeRotation(angle2Rad(secA), 0, 0, 1);


 //分針開始旋轉
 //計算分針當前旋轉的角度
 // angle = 當前多少分 * 每一分旋轉多少度
 CGFloat minA = curMin * perMinA;
 self.minL.transform = CATransform3DMakeRotation(angle2Rad(minA), 0, 0, 1);


 //時針開始旋轉
 //計算時針當前旋轉的角度
 // angle = 當前多少時 * 每一小時旋轉多少度
 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;
 //繞著錨點旋轉
 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;

}

//添加時針
- (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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • iOS發(fā)送短信功能的實現代碼

    iOS發(fā)送短信功能的實現代碼

    本篇文章主要介紹了iOS發(fā)送短信功能的實現代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • iOS NSTimer循環(huán)引用的辦法

    iOS NSTimer循環(huán)引用的辦法

    這篇文章主要介紹了iOS NSTimer循環(huán)引用的辦法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • 詳解iOS中Button按鈕的狀態(tài)和點擊事件

    詳解iOS中Button按鈕的狀態(tài)和點擊事件

    這篇文章先是給大家介紹iOS中Button按鈕的狀態(tài),而后又詳細介紹了iOS中按鈕點擊事件處理方式,本文介紹的很詳細,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-09-09
  • iOS ScrollView實現自動布局的方法(適用Swift 3.0 )

    iOS ScrollView實現自動布局的方法(適用Swift 3.0 )

    傳說中有一個美工ios開發(fā)者在遇到這個問題的時候特意跑到蘋果總部去咨詢如何對scrollview進行自動布局。當然大家不用去了,下面這篇文章就來給大家介紹關于iOS ScrollView實現自動布局的方法,文中的語法同樣也適用Swift 3.0 ,需要的朋友可以參考下。
    2017-12-12
  • iOS在固定的label上動態(tài)顯示所有文字

    iOS在固定的label上動態(tài)顯示所有文字

    這篇文章給大家主要介紹了iOS中如何實現,在固定的label上動態(tài)顯示所有文字的方法,文中給出了示例和思路,對大家的理解很有幫助,感興趣的朋友們下面來一起看看吧。
    2016-10-10
  • 利用iOS開發(fā)實現翻轉撲克牌動畫的方法

    利用iOS開發(fā)實現翻轉撲克牌動畫的方法

    這篇文章主要給大家介紹了關于利用iOS開發(fā)實現翻撲克牌動畫的方法,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來跟著小編一起學習學習吧。
    2017-07-07
  • iOS開發(fā)中實現郵件和短信發(fā)送的簡單示例

    iOS開發(fā)中實現郵件和短信發(fā)送的簡單示例

    這篇文章主要介紹了iOS開發(fā)中實現郵件和短信發(fā)送的簡單示例,編程語言依然是傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2015-09-09
  • iOS捕捉截屏事件并展示截圖效果

    iOS捕捉截屏事件并展示截圖效果

    這篇文章主要為大家詳細介紹了iOS捕捉截屏事件并展示截圖效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • 詳解iOS App設計模式開發(fā)中對于享元模式的運用

    詳解iOS App設計模式開發(fā)中對于享元模式的運用

    這篇文章主要介紹了iOS App設計模式開發(fā)中對于享元模式的運用,示例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下
    2016-04-04
  • iOS漸變圓環(huán)旋轉動畫CAShapeLayer CAGradientLayer

    iOS漸變圓環(huán)旋轉動畫CAShapeLayer CAGradientLayer

    這篇文章主要介紹了iOS漸變圓環(huán)旋轉動畫CAShapeLayer CAGradientLayer的相關資料,需要的朋友可以參考下
    2016-09-09

最新評論

富民县| 天台县| 望江县| 桐庐县| 濮阳县| 田林县| 光泽县| 光泽县| 隆尧县| 林周县| 益阳市| 科尔| 洛扎县| 巫溪县| 嘉兴市| 来安县| 沐川县| 额济纳旗| 宣城市| 隆德县| 天长市| 会泽县| 延寿县| 曲水县| 阿坝| 错那县| 大城县| 广元市| 马边| 河西区| 成安县| 平果县| 东光县| 上虞市| 左云县| 积石山| 三亚市| 左云县| 忻城县| 法库县| 偃师市|