iOS新浪微博UITextView的封装(六 暂不包括键盘上的表情条)

                                          第一部分 目标效果

今天要达到的目标如下:

195427_3iit_2332019.png

195524_ns3N_2332019.png     195657_LZL9_2332019.png

                                 第二部分 理论知识

从上面的图片和我们经常使用新浪微博的经验来看,一点击文字输入框就会调用出键盘的会有两个控件,一个是UITxtField和UITextView,那么到底选哪个控件好了,在选控件之前,我们先来看看他们的区别

201119_6ZoV_2332019.png

通过上表可以发现,UITextView没有placeholder属性,而UITextField却有,但是,UITextfield只能显示一行文字,而UITextView却能显示任意一行文字,就实际效果来看,我们选择UItextview,并且重写它的某些方法即可,就本次的目标来看,增加两个属性即可,placeholder和placeholdercolor即可。目标确定之后,我们新建一个类LHTextView,继承自UITextView,

它的头文件如下图

202119_Np9N_2332019.png

那么如何显示placeholder呢?,这里我们采取quart2D的绘图技术,重绘这个placeholder,在.m文件中实现这个方法如下图

202624_WBD8_2332019.png

既然在头文件里声明了这两个属性,那么在调用的时候一定会调用setter方法,所以我们在.m文件同样重写这两个setter方法,

203035_TUOb_2332019.png

由于要实现实时改变textview的文字和字体大小,所以也要重写他们的setter方法

203424_2306_2332019.png

当然,我们自定义控件,肯定要实现它的初始化方法:

203603_GBgv_2332019.png

讲到这里,自定义控件方法写完了

                                 第三部分  测试效果

自定义空间之后当然需要测试了,看写的正不正确,在下图的这个方法里修改placeholder和placeholdercolor两个属性204025_Oagh_2332019.png

我们修改它的字体大小(font属性)来测试,结果如下图

204144_2KEi_2332019.png

204324_6B77_2332019.png

修改颜色改为橙色如下

205646_GYGz_2332019.png

以上测试发现都可以,就算是测试通过吧,最后别忘了把通知移除哦

205720_iu9k_2332019.png


好啦,今天的博客就讲到这,讲得不好,欢迎批评指正或留言交流!






转载于:https://my.oschina.net/iOSliuhui/blog/521637

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值