iOS動畫之漂亮的時鐘

2021-12-29 22:40:14 字數 1981 閱讀 3494

在ios中預設是繞著中心點旋轉的,因為錨點預設在圖層的中點,要想繞著下邊中心點轉,需要改變圖層錨點的位置。 根據錨點,設定position座標,為時鐘的中點。 思考秒針旋轉的角度,怎麼知道當前秒針旋轉到哪,當前秒針旋轉的角度 = 當前秒數 * 每秒轉多少°。

1> 計算一秒轉多少° 360 * 60 = 6

2> 獲取當前秒數,通過日曆物件,獲取日期組成成分 nscalendar -> nsdatecomponents -> 獲取當前秒數 每隔一秒,獲取最新秒數,更新時鐘。

分鐘一樣的做法 時鐘也一樣 每一分鐘,時鐘也需要旋轉,60分鐘 -> 1小時 - > 30° ==》 每分鐘 30 / 60.0 一分鐘時針轉0.5° 把時針和秒針頭尾變尖,設定圓角半徑

#import viewcontroller.h

//獲得當前的年月日 時分秒

#define currentsec [[nscalendar currentcalendar] component:nscalendarunitsecond fromdate:[nsdate date]]

#define currentmin [[nscalendar currentcalendar] component:nscalendarunitminute fromdate:[nsdate date]]

#define currenthour [[nscalendar currentcalendar] component:nscalendarunithour fromdate:[nsdate date]]

#define currentday [[nscalendar currentcalendar] component:nscalendarunitday fromdate:[nsdate date]]

#define currentmonth [[nscalendar currentcalendar] component:nscalendarunitmonth fromdate:[nsdate date]]

#define currentyear [[nscalendar currentcalendar] component:nscalendarunityear fromdate:[nsdate date]]

//角度轉換成弧度

#define angel(x) x/180.0 * m_pi

#define kperseconda angel(6)

#define kperminutea angel(6)

#define kperhoura angel(30)

#define kperhourminutea angel(0.5)

@inte***ce viewcontroller ()

@property (nonatomic,strong) uiimageview *imageclock;

@property (nonatomic,strong) calayer *layersec;

@property (nonatomic,strong) calayer *layermin;

@property (nonatomic,strong) calayer *layerhour;

@end

@implementation viewcontroller

- (void)viewdidload

- (void)timechange

- (uiimageview *)imageclock

return _imageclock;

}- (calayer *)layersec

return _layersec;

}- (calayer *)layermin

return _layermin;

}- (calayer *)layerhour

return _layerhour;

}

iOS動畫之美麗的時鐘

在ios中預設是繞著中心點旋轉的,由於錨點預設在圖層的中點,要想繞著下邊中心點轉,須要改變圖層錨點的位置。依據錨點。設定position座標。為時鐘的中點。思考秒針旋轉的角度,怎麼知道當前秒針旋轉到哪,當前秒針旋轉的角度 當前秒數 每秒轉多少 1 計算一秒轉多少 360 60 6 2 獲取當前秒數。...

Phone漂亮的動畫

此處標明非原創 實現iphone漂亮的動畫效果主要有兩種方法,一種是uiview層面的,一種是使用catransition進行更低層次的控制,cpp uiview beginanimations curl context nil 動畫開始 uiview setanimationduration 0....

iOS 動畫實戰之Lottie動畫

1.作為收藏按鈕,是不是很活潑?2.返回與選單之間的切換,生動有趣 3.還有各種形變動畫.更棒的是,lottie有各種不同的版本,安卓,ios,前端都可以使用,理論上動畫做一套就可以共用,大大的減少了工作量.使用方法 整合環境 移動端同學整合lottie框架,ui ue同學整合ae的bodymovi...