自定义日历模态插件编程总结
来源:互联网 发布:seo站外优化 编辑:程序博客网 时间:2024/06/10 13:06
一.任务要求:
根据式样demo,点击按钮,在本视图弹出一个模态对话框,显示自定义日历,选择日期,日历标题进行相应的变化,点击对话框最下边确定按钮,将当前选择的日期传递回去
二.任务分析:
1.实现样式的确定:
主要包括 :合理控件和视图的选取 控件和视图的布局和层级设计 模态弹出效果的实现类型和实现方式
难点:模态效果的制作 设计模态层级过程中的点击阴影部分,能够实现的根视图和当前视图的替换
模态效果制作难点:
ios7 之后,iOS 的模态效果默认是弹出的为全屏,即presentModalView 只能弹出全屏的界面,iphone 上用模态方法不能实现式样效果,
导航 和tab 的设计格式均与式样不符
因此替换了刚开始的设计方案,视图设计参考了单纯使用view 实现的模态效果方法
2.日历逻辑功能实现:
主要包括:
控件的选取 系统日期到式样所要实现的日期格式的转换 PickerView 日历数据算法实现 模态视图标题时间和选择时间的一一对应
难点1:
控件选取:
刚看式样,是日历,跟时间有关,选择的DatePicker 控件进行实现,这个实现起来比较容易,但要实现式样中的日期显示格式,以及对显示字体和控件大小进行灵活调整,
DatePicker 功能太有限,因此 又替换了DatePicker ,改为用PickerView 进行实现
重点2:
系统日期到式样的日期格式的转换:
因为PickerVIew 没有时间功能,Picker 中显示的特殊格式日期必须通过系统时间进行转换。涉及内容包括:1.读取系统时间,2.中文和中国时区处理;3.星期中文处理;4.生成PickerView 数据
重点3:
因为日历操作过于频繁,12月 到1月的年份转换,原计划根据 12月 到1月 加一年,1月到12月减一年,这样实现算法符合操作习惯,但后面实现过程中,
发现PickerView 控件能够隔行滚动,较难控制,换成了根据月份row 列取余数和当前年份相加
难点4:
PickerView 显示数据为两列,样式和数据显示过程中出了点问题,重点需要关注的是 didSelected Row代理方法中,前一列数据需要与后一列数据进行关联,这样才能得到正确的数据
3.标题显示选择数据和 用户选择日期回传:
只要可以获得正确的数据,标题显示数据 和日期回传都相对较简单,忽略不计
- 自定义日历模态插件编程总结
- 自定义日历选择框--控制--日历插件
- jquery - 日历插件(自定义模板的日历插件)
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件
- 日历插件(项目总结)(包括mobiscroll.js LCalendar 和Calendar这三个日历插件)
- 自定义开发ionic自带的日历插件ionic-datePicker
- 自定义日历
- 自定义日历
- 自定义日历
- bzoj 1012 简单的线段树
- 什么是DSI?
- 《Java Generics and Collections》笔记 Queues I
- IIS6,IIS7,IIS8的脚本自动安装
- leetcode--Min Stack
- 自定义日历模态插件编程总结
- Implicit in Scala
- Android自定义控件之自定义Text,画出米字格-FenGKun
- Cracking the coding interview--Q3.6
- 深入解读Linux与Android的相互关系
- MATLAB字符串输出
- Cisco和H3C命令对照(部分)
- C语言注释风格(函数、功能、输入、输出、返回)
- “bind failed on XXXX: Address already in usr”问题