写了一个UITextView的placeholder,分类实现,通过替换drawRect:方法 和 dealloc方法。drawRect:绘制富文本,dealloc方法移除监听文本变化的通知UITextViewTextDidChangeNotification. 在drawRect:中,当self.text为空并且自定义属性placeholder不为空,绘制placeholder。
ARC下需要NSSelectorFromString(@"dealloc")获取dealloc方法,@selector(place_dealloc)这样写的话编译器会报错。
注意,千万不要在分类中覆盖dealloc方法,iOS8在这里面移除通知的话,再次进入这个包含UITextView的页面,编辑的时候会
crash:-[UIText View textInputView]: message sent to deallocated instance 0x1018beca0.
一句话调用:textView.zp_placeholder = @"你想要的,我还要"; 搞定。
第一次写文章,不对之处请指正;不喜欢写文章,高三作文都不带写的。谅解。还是看代码吧。