表盤的設定clockpan.h
#import
@inte***ce
clockpan : uiview
@property (nonatomic, strong) uiimage *image;
- (instancetype)initwithimage:(uiimage *)image; //表盤的背景貼紙, 可以讓設計師給你乙個精美的表盤樣式
@end
clockpan.m
#import "clockpan.h"
@implementation
clockpan
- (instancetype)initwithimage:(uiimage *)image
return
self;
}- (void)setimage:(uiimage *)image
- (void)drawrect:(cgrect)rect
@end
clock的檢視控制器
#import "viewcontroller.h"
#import "clockpan.h" //呼叫表盤view
#define kclockw self.clockpan.bounds.size.width
//角度制轉化為弧度制
#define angle2radian(angle) ((angle) / 180.0 * m_pi)
#define perseconda 6 //每秒6度
#define perminutea 6 //每分6度
#define perhoura 30 //每小時30度
#define perminutehoura 0.5 //每分鐘時針掃過0.5度
#define persecondminutea 0.1 //每秒分針掃過0.1度
@inte***ce
viewcontroller ()
@property (weak, nonatomic) iboutlet clockpan *clockpan; //表盤
@property (weak, nonatomic) iboutlet
uilabel *timelabel; //時間label
@property (weak, nonatomic) iboutlet
uiimageview *heartimgview; //心跳圖形
@property (nonatomic, strong) calayer *sencondlayer; //秒針layer
@property (nonatomic, strong) calayer *minutelayer; //分針layer
@property (nonatomic, strong) calayer *hourlayer; //時針layer
@end
@implementation
viewcontroller
- (void)viewdidload
- (void)timechange
else
}- (void)setupsecondlayer
- (void)setupminutelayer
- (void)setuphourlayer
@end
Core Animation 的隱式動畫
那我們來看看系統究竟幫我們做了哪些東西。如果你自己設定了動畫型別和動畫時間,表現出來就是你指定的動畫,如果沒有,那麼系統會自動幫我們做了動畫型別和動畫時間 這就是隱式動畫 note catransaction概念 catransaction沒有屬性或者例項方法,並且也不能用 alloc和 init方...
完成塊 隱式動畫
基於uiview的block的動畫允許你在動畫結束的時候提供乙個完成的動作。catranscation介面提供的 setcompletionblock 方法也有同樣的功能。我們來調整上個例子,在顏色變化結束之後執行一些操作。我們來新增乙個完成之後的block,用來在每次顏色變化結束之後切換到另乙個旋...
隱式動畫筆記
什麼是隱式動畫?了解什麼是隱式動畫前,要先了解是什麼根層和非根層.根層 uiview內部自動關聯著的那個layer我們稱它是根層.非根層 自己手動建立的層,稱為非根層.隱式動畫就是當對非根層的部分屬性進行修改時,它會自動的產生一些動畫的效果.我們稱這個預設產生的動畫為隱式動畫.如何取消隱式動畫?首先...