第一部分 目标效果
测试
今天要达到的目标以下:字体
第二部分 理论知识spa
从上面的图片和咱们常常使用新浪微博的经验来看,一点击文字输入框就会调用出键盘的会有两个控件,一个是UITxtField和UITextView,那么到底选哪一个控件好了,在选控件以前,咱们先来看看他们的区别继承
经过上表能够发现,UITextView没有placeholder属性,而UITextField却有,可是,UITextfield只能显示一行文字,而UITextView却能显示任意一行文字,就实际效果来看,咱们选择UItextview,而且重写它的某些方法便可,就本次的目标来看,增长两个属性便可,placeholder和placeholdercolor便可。目标肯定以后,咱们新建一个类LHTextView,继承自UITextView,图片
它的头文件以下图博客
那么如何显示placeholder呢?,这里咱们采起quart2D的绘图技术,重绘这个placeholder,在.m文件中实现这个方法以下图微博
既然在头文件里声明了这两个属性,那么在调用的时候必定会调用setter方法,因此咱们在.m文件一样重写这两个setter方法,新浪微博
因为要实现实时改变textview的文字和字体大小,因此也要重写他们的setter方法方法
固然,咱们自定义控件,确定要实现它的初始化方法:im
讲到这里,自定义控件方法写完了
第三部分 测试效果
自定义空间以后固然须要测试了,看写的正不正确,在下图的这个方法里修改placeholder和placeholdercolor两个属性
咱们修改它的字体大小(font属性)来测试,结果以下图
修改颜色改成橙色以下
以上测试发现均可以,就算是测试经过吧,最后别忘了把通知移除哦
好啦,今天的博客就讲到这,讲得很差,欢迎批评指正或留言交流!