原文:http://coolketang.com/staticCoding/5a9950899f54540af9a41be7.html

1. 本节课将为您演示,如何制作一款漂亮的日历。首先确保在您的项目中,已经安装了所需的第三方库,双击查看此处的Pod配置文件。

2. 根据配置文件中的相关设置,安装第三方库。安装完成之后,双击打开此处的项目文件。 

3. 接着在项目文件夹上点击鼠标右键,弹出右键菜单。 

4. 在弹出的右键菜单中,选择创建新文件选项。您将创建一个自定义的日历单元格。 

5. 在弹出的文件模板选择窗口中,保持默认的选项,然后点击下一步按钮,进入下一步设置页面。 

6. 在类名输入框内,输入类的名称。 

7. 接着在父类名称输入框内,输入父类的名称。 

8. 点击下一步按钮,进入下一步设置页面。 

9. 保持默认的文件存储位置 ,点击创建按钮,完成文件的创建。 

10. 接着在当前的类文件中,引入已经安装的第三方类库。 

11. 继续在项目文件夹上点击鼠标右键,弹出右键菜单。 

12. 在弹出的右键菜单中,选择创建新文件选项。 

13. 在弹出的文件模板选择窗口中,选择视图选项。 

14. 然后点击下一步按钮,进入下一步设置页面。 

15. 在弹出的存储设置窗口中,输入文件的名称。 

16. 最后点击创建按钮,完成文件的创建。 

17. 在打开的故事板编辑界面,点击尺寸检查器图标,进入尺寸设置面板。 

18. 接着依次设置视图的宽度和高度信息。 

19. 

20. 在组件库面板中,点击右侧的垂直滚动条,跳转到视图组件所在的位置。 

21. 然后将视图组件从库中,拖动到故事板中。 

22. 同样依次设置视图的坐标和尺寸信息。 

23. 

24. 

25. 

26. 接着点击属性检查器图标,进入属性设置面板。 

27. 点击背景颜色右侧的下拉箭头,弹出颜色预设面板。 

28. 在弹出的颜色预设面板中,选择一种颜色作为视图的背景颜色。 

29. 接着往故事板中添加一个标签控件,点击右侧的垂直滚动条,跳转到标签控件所在的位置。 

30. 同样将标签控件拖动到故事板中。 

31. 点击字体右侧的下拉箭头,缩小文字的尺寸。 

32. 然后点击字体颜色右侧的下拉箭头,设置字体的颜色。 

33. 在弹出的系统颜色预设面板中,选择一种颜色作为文字的颜色。 

34. 接着创建标签控件和根视图的约束关系,在标签上按下鼠标右键,然后拖动到根视图的上方。 

35. 在弹出的约束选项菜单中,选择顶边距至容器选项,从而固定标签控件和根视图顶边之间的距离。 

36. 使用相同的方式,添加其它的约束。 

37. 在弹出的约束选项菜单中,选择垂直居中选项,使标签控件和根视图在垂直方向上保持居中。 

38. 添加完约束之后,系统仍有警告提示,点击警告图标,进入警告信息列表。 

39. 然后点击三角形图标,弹出系统预设的处理方式列表。 

40. 接着选择修复缺失按钮,自动添加缺少的约束关系。 

41. 完成修复后,点击后退按钮,返回故事板的文档框架区。 

42. 选择故事板中的视图控件,接着给视图控件添加约束。 

43. 在视图上按下鼠标右键,然后拖动到自身的其它位置,从而建立自身的约束关系。 

44. 在弹出的约束选项菜单中,选择宽度选项,从而固定视图的宽度。 

45. 接着使用相同的方式,固定视图的高度。 

46. 完成这两步约束的添加之后,视图的宽度和高度,无论在何种分辨率下都会保持不变。 

47. 接着添加当前视图和根视图之间的约束关系。 

48. 在弹出的约束选项菜单中,选择水平居中选项,使当前视图和根视图在水平方向上保持居中。 

49. 使用相同的方式,添加垂直方向上的约束关系。 

50. 在弹出的约束选项菜单中,选择垂直居中选项。 

51. 接着选择故事板中的根视图。 

52. 然后点击背景颜色右侧的下拉箭头,弹出颜色预设面板。 

53. 在弹出的系统颜色预设面板中,选择一种颜色作为视图的背景颜色。 

54. 接着点击身份检察器图标,进入身份设置面板。 

55. 在类输入框内,确保此处的类名和之前创建的类文件相同。然后点击显示辅助编辑器图标,打开辅助编辑器。 

56. 点击右上角的显示或隐藏工具面板图标,隐藏右侧的面板区。 

57. 接着来放大故事板的显示比例。在故事板中点击鼠标右键,弹出右键菜单。 

58. 然后选择菜单中的缩放至原始比例命令。 

59. 选择故事板中的标签控件。 

60. 右侧的辅助编辑器中的类文件,并不是当前视图的类文件。所以需要更换编辑器中的内容。点击此处的图标,显示操作列表。 

61. 在弹出的操作列表中,选择自动选项,此处列出了与故事板绑定的类文件。 

62. 点击打开和故事板绑定的类文件。 

63. 接着在标签上按下鼠标右键,并拖动到右侧的类文件中,从而建立一个和标签绑定的属性。 

64. 在名称输入框内,输入属性的名称。 

65. 然后点击连接按钮,在类文件中创建一个和标签控件相连接的属性。 

66. 接着选择故事板中的视图控件。 

67. 在视图上按下鼠标右键,并拖动到右侧的类文件中,从而建立一个和视图绑定的属性。 

68. 在名称输入框内,输入属性的名称。 

69. 然后点击连接按钮,在类文件中创建一个和视图控件相连接的属性。 

70. 完成控件和属性的连接之后,点击顶部的显示标准编辑器图标,切换至标准编辑器模式。 

71. 然后打开系统自带的故事板文件。 

72. 点击右上角的显示或隐藏工具区选项,打开右侧的工具面板。 

73. 接着往故事板中添加一个视图,作为日历的显示区域。点击控件库右侧的垂直滚动条,跳转到视图控件所在的位置。 

74. 然后将视图控件拖动到故事板中的适当位置。 

75. 点击显示尺寸检查器图标,进入尺寸设置面板。 

76. 接着依次设置当前视图的坐标和尺寸信息。 

77. 

78. 

79. 

80. 点击顶部的显示身份检查器图标,进入身份设置面板。 

81. 在类名输入框内,输入当前视图控件对应的类名。该类名就是第三方库中的日历视图类的名称。 

82. 接着继续输入模块的名称。 

83. 然后选择故事板中的根视图控件,设置根视图的外观属性。 

84. 点击属性检查器图标,进入属性检查器面板。 

85. 点击背景颜色右侧的下拉箭头,弹出颜色预设面板。 

86. 在弹出的系统颜色预设面板中,选择一种颜色作为根视图的背景颜色。 

87. 使用相同的方式,设置日历视图的背景颜色。 

88. 点击背景颜色右侧的下拉箭头,弹出颜色预设面板。 

89. 在弹出的系统颜色预设面板中,选择无色选项,作为日历视图的背景颜色。 

90. 然后点击显示辅助编辑器图标,打开辅助编辑器。 

91. 点击右上角的显示或隐藏工具面板图标,隐藏右侧的面板区。 

92. 同样需要建立日历视图控件和类文件的属性之间的连接,在日历视图上按下鼠标右键,并拖动到右侧的类文件中。 

93. 在名称输入框内,输入属性的名称。 

94. 然后点击连接按钮,在类文件中创建一个和日历视图控件相连接的属性。 

95. 完成控件和属性的连接之后,点击顶部的显示标准编辑器图标,切换至标准编辑器模式。 

96. 接着在左侧的项目导航区,打开视图控制器的代码文件。 

97. 现在开始编写代码,在当前项目中创建一个日历。 

98. 首先在当前的类文件中,引入已经安装的第三方类库。 

99. 然后添加需要使用到的相关协议。 

100. 依次设置日历视图的数据源和代理对象,两者都是当前的视图控制器对象。 

101. 要使用自定义的日历视图,需要注册日历中的日期数字单元格的故事板文件。 

102. 设置日期数字单元格的间距。 

103. 依次设置在日历中允许选择多个日期,并允许进行日期区域的选择。 

104. 将日历视图添加到当前视图控制器的根视图中。 

105. 添加一个代理方法,用来监听日历中的数据单元格即将显示的事件。 

106. 获得即将显示的单元格对象,并转换成自定义的单元格类。 

107. 然后设置单元格类中的标签的文字内容。 

108. 当日历显示的日期为当前月份时,设置数字标签的字体颜色为浅灰色。 

109. 当日历显示的日期不是当前月份时,设置数字标签的字体颜色为另外一种颜色。 

110. 接着处理日期数字单元格被选择的事件。 

111. 添加一个方法,用来响应日期数字单元格被选择的事件。 

112. 首先获得当前被选择的日期数字单元格。 

113. 当单元格被选择时,设置单元格的选择标识视图的圆角半径为20,并设置视图的显示状态为真。 

114. 当单元格不处于选择状态时,隐藏该单元格的标识视图。 

115. 同时在控制台输出当前的日期。 

116. 接着添加一个代理方法,用来配置日历的相关参数。 

117. 初始化一个日期格式对象。 

118. 设置日期的格式。 

119. 然后初始化两个日期对象,分别表示日历的起始日期和结束日期。 

120. 接着,初始化一个配置参数对象,依次设置日历的起始日期、结束日期、日历行数、日历类别、过去日期和将来日期的展示方式,以及每周的第一天。 

121. 最后返回日历的配置参数对象。 

122. 添加一个代理方法,用来监听某个日期被选择时的事件。 

123. 再次添加一个代理方法,用来监听日期被取消选择时的事件。接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。 

124. 在弹出的模拟器中,点击选择一个日期,并观察控制台的日志输出。 

125. 继续选择另外一个日期。 

126. 当再次点击一个被选择的日期时,该日期将被取消选择。 

本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

1.16 使用JTAppleCalendar制作漂亮的日历 [iOS开发中的神兵利器]相关推荐

  1. 1.17 另一个自定义的CVCalendar日历 [iOS开发中的神兵利器]

    原文:http://coolketang.com/staticCoding/5a9950899f54542163e47c48.html 本文整理自:<app开发中的神兵利器>,真正的[手把 ...

  2. [Swift通天遁地]一、超级工具-(16)使用JTAppleCalendar制作美观的日历

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  3. ios开发中计算代码运算时间_iOS日历、日期、时间的计算

    时间和日历的计算在iOS开发中经常看到,经常看到大家在百度,开源中国等搜索这些答案.今天写个简单的时间和日历有关的计算. 获取一个月的总天数 1.获取当月的天数 - (NSInteger)getNum ...

  4. iOS开发中静态库制作 之.a静态库制作及使用篇

    iOS开发中静态库之".a静态库"的制作及使用篇 一.库的简介 1.什么是库? 库是程序代码的集合,是共享程序代码的一种方式 2.库的类型? 根据源代码的公开情况,库可以分为2种类 ...

  5. 【前端实例代码】使用 HTML CSS实现指纹扫描仪特效动画效果 |前端开发 网页制作 基础入门教程 网页开发中常见的样式与特效,收藏起来肯定用的上~

    b站视频演示效果: [web前端特效源码]使用 HTML CSS 和 JavaScript 实现指纹扫描仪特效动画效果 |前端开发 网页制作 基础入门教程 效果图: 完整代码: <!DOCTYP ...

  6. 【iOS】iOS开发之使用Mac自动操作制作@1x@2x@3x图片(切图)

    iOS开发中,会要求导入@1x.@2x和@3x: 使用@1x格式:iPhone3GS 使用@2x格式:iPhone 4,4S,5,5S,5C,SE,6,6S,7,8,XR 使用@3x格式:iPhone ...

  7. ios开发 c语言打包.a文件,【转】IOS静态库a文件制作流程

    原文网址:http://www.jianshu.com/p/3439598ea61f 1.新建Cocoa Touch Static Library工程 新建工程 2.Xcode的参数设置 " ...

  8. iOS开发:RGB专栏(RGB与16进制色互转)

    iOS开发中,除了使用固定的基本颜色之外,常常也需要使用自定义的颜色,那么这就涉及到了RGB的色值使用问题. 一.对RGB的色值使用的时候,可将对颜色的设置定义成宏(设置宏定义),方便开发使用,eg: ...

  9. css制作漂亮彩带导航条菜单

    点击这里查看效果: http://keleyi.com/keleyi/phtml/divcss/17.htm 效果图: 以下是源代码: 1 <!DOCTYPE html PUBLIC " ...

最新文章

  1. ux设计师怎样找同类产品_UX设计师UI设计师产品设计师和UX研究人员有何不同
  2. ubuntu 新增mysql用户_Ubuntu中给mysql添加新用户并分配权限
  3. 为什么代码正确却没有爬虫的信息_为什么敷面膜没有效果?原来这才是敷面膜的正确步骤...
  4. vista中安装语言包出错解决
  5. Android NIO(Noblocking I/O非阻塞I/O)小结
  6. 分子重构技术_分子影像重构精准未来:百名专家云端共筑 One MI 生态圈
  7. lighttpd安装_如何在Ubuntu服务器上安装Lighttpd
  8. Swing的Look And Feel机制研究
  9. 生产质量分析报告常用模板汇总,质量人必备!
  10. 车辆管理系统python_python实现汽车管理系统
  11. Parse error: syntax error, unexpected ':', 解决办法
  12. 与其他带货直播平台相比,视频号更适合哪些人?
  13. angular2后台管理系统
  14. win10系统无法访问ftp服务器地址,win10如何访问ftp服务器地址
  15. Docker搭建Skywalking环境
  16. 月薪 2 万到 3 万的测试员一天是怎样度过的?
  17. 一个大学毕业生的反思《下》
  18. Java支付宝身份验证接口接入指南(人脸验证)
  19. 音频基础知识 - PCM 浅析
  20. 201671030125 曾佳 + 实验三作业互评与改进报告

热门文章

  1. 十多天的鸭子得了心包积液是什么原因鸭摇头晃脑不吃食怎么治疗
  2. Flowable入门系列文章194 - JMX的基本介绍和属性说明
  3. 创业需要的就是“不安分”的人
  4. 中望3D Overdrive内核技术之“容差建模”
  5. js数据类型转换(5)
  6. 虚拟主机如何清空网站程序文件和mysql数据库数据
  7. 杭州市中高级工程师职称评审条件
  8. java 根据点画不规则封闭图形
  9. 有道云笔记无法同步至本地电脑解决方法
  10. 《计算机组成原理》复习第七章—外围设备