1.17 另一個自定義的CVCalendar日曆 [iOS開發中的神兵利器]
1. 本節課將為您演示另一款第三方的日曆類庫。首先確保在您的專案中,已經安裝了所需的第三方庫,雙擊檢視此處的Pod配置檔案。
2. 根據配置檔案中的相關設定,安裝第三方庫。安裝完成之後,雙擊開啟此處的專案檔案。
6. 新增一個日曆選單檢視變數,和一個日曆檢視變數,作為當前類的兩個屬性。日曆選單檢視將位於日曆檢視的上方,用來顯示日曆的星期。
8. 然後對日曆選單檢視,進行初始化操作,並設定其顯示區域位於螢幕的上方。
10. 設定日曆檢視的外觀代理、日曆代理和動畫代理,都是當前的檢視控制器物件。
11. 設定日曆選單檢視的選單檢視代理,同樣是當前的檢視控制器物件。
13. 新增一個方法,用來監聽檢視控制器對它的子檢視進行佈局的事件。
14. 當監聽到該事件時,將依次提交對選單檢視和日曆檢視的重新整理。
15. 接著新增一個針對檢視控制器的擴充套件,並使其遵循日曆檢視協議和日曆選單檢視協議。
16. 新增一個代理方法,用來設定日曆的模式。共有月模式和周模式兩種。
17. 新增一個代理方法,用來設定將星期天,作為一個星期的開始日期。
18. 該代理方法用來設定在一個星期當中,每天的日期文字顏色。
19. 在此設定當該日為星期天時,設定文字的顏色為紅色,否則設定文字的顏色為黑色。
21. 接著新增此代理方法,用來設定允許以動態的方式進行尺寸的縮放。
22. 新增一個代理方法,用來設定是否選中某個日期檢視,此處使用隨機的方式來決定是否選中。
23. 新增一個代理方法,用來響應某個日期被選中時的事件。此時在控制檯輸出選中的日期。
24. 此代理方法用來設定是否允許在日期的上方,顯示一個識別符號。
25. 新增一個代理方法,用來設定是否允許在日期的上方,顯示一個點標識。
28. 假如當前位置上的日期的天數,和隨機數字相同時,則在此日期的位置顯示一個點標識。
36. 接著新增一個代理方法,用來設定是否在日期上顯示高亮效果。
38. 繼續新增一個代理方法,設定星期的顯示方式,此處設定為縮寫方式。共有正常、縮寫和超級縮寫三種樣式可以選擇。
43. 初始化一個輔助檢視,設定其顯示區域和日期檢視相同,並且形狀為圓形。
44. 設定輔助檢視的填充顏色為淺灰色,然後返回該輔助檢視。
45. 新增一個代理方法,用來設定是否允許在日期檢視上,顯示一個輔助檢視。
46. 設定當日期檢視中的日期為當日的天數時,顯示輔助檢視,否則不顯示。
47. 繼續新增一個代理方法,用來設定補充檢視。該補充檢視將被用來在所有屬於星期五的天數位置,繪製一個圓環。
51. 初始化一個浮點型別的常量,作為圓環在垂直方向上的偏移距離。
55. 在此建立一個和日期檢視相比,具有相同顯示區域的檢視物件。
59. 對圖形層進行初始化操作,並將該層新增到新建檢視的層中。
63. 通過呼叫矩形區域物件的相關方法,獲得和該矩形區域具有相同中心點,但是更大的另一個矩形區域。
67. 接著通過中心點、半徑、起點角度、結束點角度以及是否順時針等資料,建立一個環形路徑。
68. 設定層的路徑為環形路徑,並設定層的顯示區域,和當前的日期層保持相同。
70. 接著新增一個代理方法,用來設定在何種情況下,允許顯示輔助檢視。
71. 在此設定當某處的日期的天數為週五時,在該日期位置顯示一個輔助檢視,否則不會顯示輔助檢視。
73. 新增最後一個代理方法,設定星期文字的背景顏色為無色。接著點選左上角的[編譯並執行]按鈕,啟動模擬器預覽專案。
74. 在彈出的模擬器中,觀察當天日期的外觀樣式。然後點選選擇某個日期,並觀察控制檯的日誌輸出。
75. 接著點選下個月份的第一天,這樣將自動跳轉到下個月份。
76. 在左側的圓點處按下手指,並向右側拖動,可以切換至上個月份。
78. 最後點選此處的[停止]按鈕,關閉模擬器,並結束本節課程。
本文整理自:《app開發中的神兵利器》,真正的[手把手]教學模式,用最快的速度上手iOS開發,蘋果商店App Store免費下載:https://itunes.apple.com/cn/app/id1209739676,或掃描本頁底部的二維碼。課程配套素材下載地址:資料下載
相關文章
- 2.15 自定義表單文字框內容的格式 [iOS開發中的神兵利器]iOS
- 【例項】PowerQuery的自定義日曆
- iOS 自定義日曆(日期選擇)控制元件iOS控制元件
- 你的開發利器Spring自定義註解Spring
- Calendar -『為移動端而生』的自定義日曆
- HarmonyOS NEXT應用開發案例—自定義日曆選擇器
- IT運維人員的神兵利器運維
- 老司機的神兵利器-效率工具
- 微信小程式 vue 自定義日曆 sku微信小程式Vue
- Flutter日曆,可以自定義風格UIFlutterUI
- Android UI開發神兵利器之設計資源AndroidUI
- 自定義view之實現日曆介面(一)View
- 自定義view之實現日曆介面(二)View
- HTML5自定義日曆控制元件HTML控制元件
- 手動開發一個日曆元件元件
- iOS開發 AVFoundation自定義相機iOS
- iOS開發中的AOP利器 - Aspects 原始碼分析(二)iOS原始碼
- iOS開發中的AOP利器 - Aspects 原始碼分析(一)iOS原始碼
- Vue日曆的編寫,可顯示周和月的模式(其中可以自定義日曆裡內容的顯示)Vue模式
- 網頁裡引用mui的日曆,城市,自定義選擇標籤網頁UI
- 基於Vue開發一個日曆元件Vue元件
- 縱享絲滑滑動切換的周月日曆,水滴效果,豐富自定義日曆樣式,仿小米日曆(ViewDragHelper實現)View
- ios開發筆記--狀態列的自定義,隱藏iOS筆記
- iOS自定義的PickViewiOSView
- Android自定義日曆控制元件的實現過程詳解Android控制元件
- 帶你開發一個日曆控制元件控制元件
- iOS開發 AVFoundation 自定義視訊錄製iOS
- iOS開發筆記 | 自定義具有內邊距的labeliOS筆記
- iOS開發:pch檔案中的巨集定義iOS
- iOS中對NSArray中自定義的物件進行排序iOS物件排序
- iOS開發自定義View佈局子控制元件iOSView控制元件
- iOS專案開發實戰——配置自定義動畫iOS動畫
- ios開發的巨集定義iOS
- 帶你開發一個二維周檢視日曆
- iOS 自定義 UISlider 的 trackRectiOSUIIDE
- 自定義 Behavior,實現巢狀滑動、平滑切換周月檢視的日曆巢狀
- Laravel 中自定義日誌目錄Laravel
- Android自定義預定日曆,並且顯示陰曆Android