ios動態效果實現翻頁 iOS實現日曆翻頁動畫

2021-10-13 00:00:32 字數 1091 閱讀 4706

1.日曆(簡單描述原理)

2.翻頁動畫(重點)

最終的效果如下圖:

圖中沿四個對角的翻頁動畫,代表對應方向手勢的滑動

1. 日曆

要實現乙個日曆,其實原理很簡單,我們只要知道三個資料:

1.今天是哪一天

2.這個月的第一天是星期幾(哪天)

3.這個月總共有多少天

1.獲取今天是哪一天

這個應該是最簡單的: nsdate(), 就可以獲取當前的日期

2.獲取這個月的第一天是星期幾(哪天)

下面的方法都是作為nsdate的extension擴充套件的

//當前月第一天

func firstdateofcurrentmonth() ->nsdateelseelse if anim.valueforkey("month") as! string == "pre"{

components?.month -= 1

date = (gregoriancalendar?.datefromcomponents(components!))!

datedidchaged!(date: date)

//動畫結束時,將layer的transform屬性設定為初始值,並移除dayview的layer上翻頁的動畫

override func animationdidstop(anim: caanimation, finished flag: bool) {

if flag {

animatiing = false

animationcontainerview.layer.transform = catransform3didentity

dayview.layer.transform = catransform3didentity

dayview.layer.removeanimationforkey("pagecurl")

總結:這篇文章沒有介紹太多詳細的內容,其實翻頁的動畫實現還有別的方法,但是因為我想實現的是可以沿著四個對角進行動畫的效果,所以最終選擇了這個方法,上面說的好像不是很具體,如果不是很明白,可以先檢視一下catranstion的使用方法。以上就是本文的全部內容,希望對大家開發ios動畫的時候能有所幫助。

iOS 雷達掃瞄效果 實現

1 rotationanimation.removedoncompletion no 23 rotationanimation.fillmode kcafillmodeforwards fillmode的作用就是決定當前物件過了非active時間段的行為.比如動畫開始之前,動畫結束之後。如果是乙個動...

iOS下拉列表效果實現

控制項的屬性以及介面 主按鈕 可以自定義樣式 可在.m檔案中修改預設的一些屬性 property nonatomic,strong uibutton mainbtn property nonatomic,assign id delegate 下拉列表中的選項標題以及選項高度的設定 一些其他具體樣式的...

iOS中UIView翻轉效果實現

新建乙個view based模板工程,在viewcontroller檔案中新增下面的 即可實現翻轉效果 void viewdidload super viewdidload 需要翻轉的檢視 uiview parentview uiview alloc initwithframe cgrectmake...