因项目需要一个只显示年和月的日历,网上没有找到合适的,只有自己写了一个比较简单的,也封装的不够彻底,不过能用就行,凑合着看嘛。
中间遇到了很多小问题,并不难,只是有时半天手足无措,所以特此记录一下
我是用到了系统的UIPickerView控件,把它封装在一个View里面
小问题1. 要将添加PickerView的代码写在layoutSubviews方法中,但是其他的Button之类的不用放在此方法中。如果不这么写,会出现两个PickerView
如图:
如果将Button也写在此方法中,button显示不出来,如图:
我想了一下,之所以会出现两个,虽然我明明只是添加了一次,是因为,有一个是系统自带的,默认的大小PickerView在里面。
因为如果不写在layoutSubviews中的话,当你添加的时候,PickerView还没有frame,所以就给你添加了一个系统默认大小的PickerView。后面当你设置frame的时候,又产生了一个新的PickerView,又重新添加了一次,由于原来添加的还在,所以就有两个PickerView。而Button,并没有系统默认的frame,所以不必写在layoutSubviews中,至于为什么写在这里面会不显示,以我现在的知识也还不太清楚。
反正记住那些系统有默认的frame控件的添加都放在layoutSubviews中,至于没有默认的就不要放,就可以了。
小问题2. 设置PickerView初始默认选中的值,用此方法才可以。用别的方法不行,我之前看别的博客说用
这个方法,结果并不行,我以为是我位置放的不对,结果试了很多地方都不对,误导了我很久。
以下是效果图和所有相关代码。本人技术还很菜,请多包涵