1.16 使用JTAppleCalendar制作漂亮的日历 [i
1. 本节课将为您演示,如何制作一款漂亮的日历。首先确保在您的项目中,已经安装了所需的第三方库,双击查看此处的Pod配置文件。
![](https://img.haomeiwen.com/i5981183/ff6c960328b289b0.png)
2. 根据配置文件中的相关设置,安装第三方库。安装完成之后,双击打开此处的项目文件。
![](https://img.haomeiwen.com/i5981183/666bf5341196379f.png)
![](https://img.haomeiwen.com/i5981183/2218d054c66101bf.png)
4. 在弹出的右键菜单中,选择创建新文件选项。您将创建一个自定义的日历单元格。
![](https://img.haomeiwen.com/i5981183/ff6607b251da09ba.png)
5. 在弹出的文件模板选择窗口中,保持默认的选项,然后点击下一步按钮,进入下一步设置页面。
![](https://img.haomeiwen.com/i5981183/a10890aec21af79b.png)
![](https://img.haomeiwen.com/i5981183/7958ccb748e85911.png)
![](https://img.haomeiwen.com/i5981183/c3db0b018612f090.png)
![](https://img.haomeiwen.com/i5981183/fddeadff6260dd05.png)
9. 保持默认的文件存储位置 ,点击创建按钮,完成文件的创建。
![](https://img.haomeiwen.com/i5981183/ee5d382b8e4714ea.png)
![](https://img.haomeiwen.com/i5981183/1a73bb6b8ac2eac7.png)
![](https://img.haomeiwen.com/i5981183/132b92f9940883b5.png)
12. 在弹出的右键菜单中,选择创建新文件选项。这里需要创建和类文件进行绑定的故事板文件。
![](https://img.haomeiwen.com/i5981183/c58e20a4ccb053f9.png)
![](https://img.haomeiwen.com/i5981183/bd04dea60e0d3ae2.png)
![](https://img.haomeiwen.com/i5981183/b2de8e85524b06fb.png)
![](https://img.haomeiwen.com/i5981183/aa625b1b40d573e8.png)
![](https://img.haomeiwen.com/i5981183/b058eab937f64756.png)
17. 在打开的故事板编辑界面,点击尺寸检查器图标,进入尺寸设置面板。
![](https://img.haomeiwen.com/i5981183/59dcc89fbba5d51f.png)
![](https://img.haomeiwen.com/i5981183/90c5527ede35f0b3.png)
![](https://img.haomeiwen.com/i5981183/474d7a827c4d825b.png)
20. 在组件库面板中,点击右侧的垂直滚动条,跳转到视图组件所在的位置。
![](https://img.haomeiwen.com/i5981183/6d4d0d851d240c68.png)
![](https://img.haomeiwen.com/i5981183/a70ab007cfaa2d41.png)
![](https://img.haomeiwen.com/i5981183/0da8d40ae52295c0.png)
![](https://img.haomeiwen.com/i5981183/22302b80e7a6e4b0.png)
![](https://img.haomeiwen.com/i5981183/2f4fdc5f5539ede1.png)
![](https://img.haomeiwen.com/i5981183/010c461cadc77dee.png)
![](https://img.haomeiwen.com/i5981183/1c5052c49ef96487.png)
![](https://img.haomeiwen.com/i5981183/879892ea80b119a9.png)
28. 在弹出的颜色预设面板中,选择一种颜色作为视图的背景颜色。
![](https://img.haomeiwen.com/i5981183/f35af479d16c4b8d.png)
29. 接着往故事板中添加一个标签控件,点击右侧的垂直滚动条,跳转到标签控件所在的位置。
![](https://img.haomeiwen.com/i5981183/9171a69e4ae1bfb3.png)
![](https://img.haomeiwen.com/i5981183/a0fc143c7c8b0454.png)
![](https://img.haomeiwen.com/i5981183/8258e4c3a09ec9f8.png)
![](https://img.haomeiwen.com/i5981183/1c117b5fc6aa2c9b.png)
33. 在弹出的系统颜色预设面板中,选择一种颜色作为文字的颜色。
![](https://img.haomeiwen.com/i5981183/bddf48fdc292d978.png)
34. 接着创建标签控件和根视图的约束关系,在标签上按下鼠标右键,然后拖动到根视图的上方。
![](https://img.haomeiwen.com/i5981183/fcf201384ebb7b8b.png)
35. 在弹出的约束选项菜单中,选择顶边距至容器选项,从而固定标签控件和根视图顶边之间的距离。
![](https://img.haomeiwen.com/i5981183/266e335acf0bf2ee.png)
![](https://img.haomeiwen.com/i5981183/8461f3416c23c036.png)
37. 在弹出的约束选项菜单中,选择垂直居中选项,使标签控件和根视图在垂直方向上保持居中。
![](https://img.haomeiwen.com/i5981183/df741a4229422176.png)
38. 添加完约束之后,系统仍有警告提示,点击警告图标,进入警告信息列表。
![](https://img.haomeiwen.com/i5981183/6f54e12dcd85c9e6.png)
![](https://img.haomeiwen.com/i5981183/c59d27146c44aee8.png)
![](https://img.haomeiwen.com/i5981183/72e5a5ca82cffaed.png)
![](https://img.haomeiwen.com/i5981183/ee5ff72d71b20c8e.png)
![](https://img.haomeiwen.com/i5981183/ec11090959cff084.png)
43. 在视图上按下鼠标右键,然后拖动到自身的其它位置,从而建立自身的约束关系。
![](https://img.haomeiwen.com/i5981183/27405b324ecfb97d.png)
44. 在弹出的约束选项菜单中,选择宽度选项,从而固定视图的宽度。
![](https://img.haomeiwen.com/i5981183/772e986eba1cbe10.png)
![](https://img.haomeiwen.com/i5981183/d3c9256dbbba42a3.png)
46. 完成这两步约束的添加之后,视图的宽度和高度,无论在何种分辨率下都会保持不变。
![](https://img.haomeiwen.com/i5981183/6fb42404051e95eb.png)
![](https://img.haomeiwen.com/i5981183/102c791b863719dd.png)
48. 在弹出的约束选项菜单中,选择水平居中选项,使当前视图和根视图在水平方向上保持居中。
![](https://img.haomeiwen.com/i5981183/bc6cde753e8168e2.png)
![](https://img.haomeiwen.com/i5981183/d28d631dc53a17b7.png)
![](https://img.haomeiwen.com/i5981183/7f8a0fb4d30cece1.png)
![](https://img.haomeiwen.com/i5981183/176d13f10fdc69a0.png)
![](https://img.haomeiwen.com/i5981183/98fcb6d6447fdca5.png)
53. 在弹出的系统颜色预设面板中,选择一种颜色作为视图的背景颜色。
![](https://img.haomeiwen.com/i5981183/9da85c62a55d7c7c.png)
![](https://img.haomeiwen.com/i5981183/e41edebe1ee7d0ef.png)
55. 在类输入框内,确保此处的类名和之前创建的类文件相同。然后点击显示辅助编辑器图标,打开辅助编辑器。
![](https://img.haomeiwen.com/i5981183/37a947c179f78113.png)
56. 点击右上角的显示或隐藏工具面板图标,隐藏右侧的面板区。
![](https://img.haomeiwen.com/i5981183/7fd47d677ead0aeb.png)
57. 接着来放大故事板的显示比例。在故事板中点击鼠标右键,弹出右键菜单。
![](https://img.haomeiwen.com/i5981183/114067085d8a118e.png)
![](https://img.haomeiwen.com/i5981183/c6cffda54a6dd9a2.png)
![](https://img.haomeiwen.com/i5981183/1159272be63d1ad5.png)
60. 右侧的辅助编辑器中的类文件,并不是当前视图的类文件。所以需要更换编辑器中的内容。点击此处的图标,显示操作列表。
![](https://img.haomeiwen.com/i5981183/936045c975382883.png)
61. 在弹出的操作列表中,选择自动选项,此处列出了与故事板绑定的类文件。
![](https://img.haomeiwen.com/i5981183/01329949a17573f1.png)
![](https://img.haomeiwen.com/i5981183/9429a3609e21be60.png)
63. 接着在标签上按下鼠标右键,并拖动到右侧的类文件中,从而建立一个和标签绑定的属性。
![](https://img.haomeiwen.com/i5981183/3e9702943773e228.png)
![](https://img.haomeiwen.com/i5981183/d9d27edf6a13df57.png)
65. 然后点击连接按钮,在类文件中创建一个和标签控件相连接的属性。
![](https://img.haomeiwen.com/i5981183/35ea821bac6abb39.png)
![](https://img.haomeiwen.com/i5981183/f92a806109b6bfde.png)
67. 在视图上按下鼠标右键,并拖动到右侧的类文件中,从而建立一个和视图绑定的属性。
![](https://img.haomeiwen.com/i5981183/6a167e7492fdf407.png)
![](https://img.haomeiwen.com/i5981183/261bf1d0fad89bb3.png)
69. 然后点击连接按钮,在类文件中,创建一个和视图相连接的属性。
![](https://img.haomeiwen.com/i5981183/b77238ea465b043a.png)
70. 完成控件和属性的连接之后,点击顶部的显示标准编辑器图标,切换至标准编辑器模式。
![](https://img.haomeiwen.com/i5981183/7001b6acad8da73d.png)
![](https://img.haomeiwen.com/i5981183/1b2cbf19808963e5.png)
72. 点击右上角的显示或隐藏工具区选项,打开右侧的工具面板。
![](https://img.haomeiwen.com/i5981183/f30b1d0e8f438af9.png)
73. 接着往故事板中添加一个视图,作为日历的显示区域。点击控件库右侧的垂直滚动条,跳转到视图控件所在的位置。
![](https://img.haomeiwen.com/i5981183/3bb1083c8969a259.png)
![](https://img.haomeiwen.com/i5981183/ac3c4cb1d9dbff5f.png)
![](https://img.haomeiwen.com/i5981183/623d527a80a26d5e.png)
![](https://img.haomeiwen.com/i5981183/5cc11a03c9d546e4.png)
![](https://img.haomeiwen.com/i5981183/0a2e8bc2d7f3cbf9.png)
![](https://img.haomeiwen.com/i5981183/cc1c994da6e5e7ce.png)
![](https://img.haomeiwen.com/i5981183/1ad34d366a65499e.png)
![](https://img.haomeiwen.com/i5981183/2581b783f4dc99f8.png)
81. 在类名输入框内,输入当前视图控件对应的类名。该类名就是第三方库中的日历视图类的名称。
![](https://img.haomeiwen.com/i5981183/b5c5d8dd968ee5da.png)
![](https://img.haomeiwen.com/i5981183/55d0d80fbbd0fb91.png)
83. 然后选择故事板中的根视图控件,设置根视图的外观属性。
![](https://img.haomeiwen.com/i5981183/3cc11a1f85e50ac0.png)
![](https://img.haomeiwen.com/i5981183/1fc31ac9fd4d1f83.png)
![](https://img.haomeiwen.com/i5981183/c443c3a34b3412d3.png)
86. 在弹出的系统颜色预设面板中,选择一种颜色作为根视图的背景颜色。
![](https://img.haomeiwen.com/i5981183/c70bd53e8a6e727d.png)
![](https://img.haomeiwen.com/i5981183/3878660ef6f55621.png)
![](https://img.haomeiwen.com/i5981183/0929d1abc7a0ef8c.png)
89. 在弹出的系统颜色预设面板中,选择无色选项,作为日历视图的背景颜色。
![](https://img.haomeiwen.com/i5981183/aa7115b8e2bdb318.png)
![](https://img.haomeiwen.com/i5981183/329ebe8a6eea356f.png)
91. 点击右上角的显示或隐藏工具面板图标,隐藏右侧的面板区。
![](https://img.haomeiwen.com/i5981183/edeafa9e63dd66a5.png)
92. 同样需要建立日历视图,和类文件的属性之间的连接,在日历视图上按下鼠标右键,并拖动到右侧的类文件中。
![](https://img.haomeiwen.com/i5981183/3e45feae92c8b4bc.png)
![](https://img.haomeiwen.com/i5981183/4c1a7ec6da280a4a.png)
94. 然后点击连接按钮,在类文件中,创建一个和日历视图控件相连接的属性。
![](https://img.haomeiwen.com/i5981183/8aec43e02d55af9e.png)
95. 完成控件和属性的连接之后,点击顶部的显示标准编辑器图标,切换至标准编辑器模式。
![](https://img.haomeiwen.com/i5981183/e7c7057ebf3ae788.png)
![](https://img.haomeiwen.com/i5981183/0d05ccd017dc5c50.png)
![](https://img.haomeiwen.com/i5981183/fdb62521f7c5cb26.png)
![](https://img.haomeiwen.com/i5981183/6c0563cb45e72d51.png)
![](https://img.haomeiwen.com/i5981183/21ab9642c70ae0a2.png)
100. 依次设置日历视图的数据源和代理对象,两者都是当前的视图控制器对象。
![](https://img.haomeiwen.com/i5981183/1a1d60d28e6026f4.png)
101. 要使用自定义的日历视图,需要注册日历中的日期数字单元格的故事板文件。
![](https://img.haomeiwen.com/i5981183/061109a7034c0e60.png)
![](https://img.haomeiwen.com/i5981183/1533d466810c1aaf.png)
103. 依次设置在日历中允许选择多个日期,并允许进行日期区域的选择。
![](https://img.haomeiwen.com/i5981183/05485b0e47d8ca3d.png)
![](https://img.haomeiwen.com/i5981183/4ac9ee550575113c.png)
105. 添加一个代理方法,用来监听日历中的数据单元格即将显示的事件。
![](https://img.haomeiwen.com/i5981183/8d90229c225a6981.png)
106. 获得即将显示的单元格对象,并转换成自定义的单元格类。
![](https://img.haomeiwen.com/i5981183/5b419b4a59fe92f1.png)
![](https://img.haomeiwen.com/i5981183/fc96808fbf40fc9c.png)
108. 当日历显示的日期为当前的月份时,设置数字标签的字体颜色为浅灰色。
![](https://img.haomeiwen.com/i5981183/ab691644361ad216.png)
109. 当日历显示的日期不是当前的月份时,设置数字标签的字体颜色为另外一种颜色。
![](https://img.haomeiwen.com/i5981183/9bfe51430f0a88b5.png)
![](https://img.haomeiwen.com/i5981183/f1913a3aab988bfa.png)
111. 添加一个方法,用来响应日期数字单元格被选择的事件。
![](https://img.haomeiwen.com/i5981183/8de2c03cd8b79485.png)
![](https://img.haomeiwen.com/i5981183/2fcb4a074e996cd7.png)
113. 当单元格被选择时,设置单元格的选择标识视图的圆角半径为20,并设置视图的显示状态为真。
![](https://img.haomeiwen.com/i5981183/e1f25e5e6d565c21.png)
114. 当单元格不处于选择状态时,隐藏该单元格的标识视图。
![](https://img.haomeiwen.com/i5981183/263c663012d9302a.png)
![](https://img.haomeiwen.com/i5981183/d55fe633136c5732.png)
![](https://img.haomeiwen.com/i5981183/c3531f4ca7cec87b.png)
![](https://img.haomeiwen.com/i5981183/f21239bceed5f89d.png)
![](https://img.haomeiwen.com/i5981183/493d0dcbbec2052c.png)
119. 然后初始化两个日期对象,分别表示日历的起始日期和结束日期。
![](https://img.haomeiwen.com/i5981183/b41370ea008ffb30.png)
120. 接着,初始化一个配置参数对象,依次设置日历的起始日期、结束日期、日历行数、日历类别、过去日期和将来日期的展示方式,以及每周的第一天。
![](https://img.haomeiwen.com/i5981183/89a906f52bc2a6bd.png)
![](https://img.haomeiwen.com/i5981183/4494a5aaa87fd5f6.png)
122. 添加一个代理方法,用来监听某个日期被选择时的事件。
![](https://img.haomeiwen.com/i5981183/6278b33b4d3af351.png)
123. 再次添加一个代理方法,用来监听日期被取消选择时的事件。接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
![](https://img.haomeiwen.com/i5981183/83aaeccf6b2263a5.png)
124. 在弹出的模拟器中,点击选择一个日期,并观察控制台的日志输出。
![](https://img.haomeiwen.com/i5981183/14508448ea46c0c3.png)
126. 当再次点击一个被选择的日期时,该日期将被取消选择。
![](https://img.haomeiwen.com/i5981183/a64b2a62c90ca252.png)
127. 在日历上按下手指,并向另一侧拖动,可以察看下月或上月的日历。
![](https://img.haomeiwen.com/i5981183/e0e76245b98c225c.png)
128. 最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。
![](https://img.haomeiwen.com/i5981183/9eb3321ca60c2418.png)
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载
![](https://img.haomeiwen.com/i5981183/dbb5a7562b6b08f2.png)