打造一个支持占位符的多行文本输入框

前言

众所周知,在iOS开发中,UIKit提供的文本输入框有两种:UITextField和UITextView。前者支持站位付,但不支持多行输入,后者支持多行输入,但不支持占位符。而在实际开发过程中经常须要使用到既能支持多行输入,又能支持占位符的文本输入框,这就必须自己实现了。我在须要使用的时候也在网上找了一些别人写的,但是,说真的,没找到好用的,并且看他们的源码实现过程还较为复杂。所以就自己写了一个。

 

开发思路

这是一个很简单的东西,就不在此详细介绍实现的过程,代码已经上传到github,支持cocoapods。

这里简单介绍一下实现的思路:

就是在一个UITextView上放了一个UILabel,UILbel用来显示占位符,在初始化时通过通知监听UITextView的文本变化情况,当文本长度为0时,将UILabel隐藏,否则显示。并且需要经Label的字体设置为和TextView相同。就OK了!

 

使用方法

该类继承于UITextyView,只在接口中开放了一个placeholder的属性,使用时设置该属性即可,其他和UITextView一样。

 

github地址:https://github.com/a770322699/MYQPlaceholderTextView

cocopods使用:pod "MYQPlaceholderTextView"

 

posted @ 2016-06-06 20:33  恋~时光  阅读(872)  评论(0编辑  收藏  举报