? ? ? ?寫了一個(gè)UITextView的placeholder,分類實(shí)現(xiàn)坏逢,通過替換drawRect:方法 ?和 ?dealloc方法。drawRect:繪制富文本,dealloc方法移除監(jiān)聽文本變化的通知UITextViewTextDidChangeNotification. ? 在drawRect:中惹谐,當(dāng)self.text為空并且自定義屬性placeholder不為空,繪制placeholder驼卖。
? ? ? ?ARC下需要NSSelectorFromString(@"dealloc")獲取dealloc方法氨肌,@selector(place_dealloc)這樣寫的話編譯器會(huì)報(bào)錯(cuò)。
? ? ? 注意酌畜,千萬不要在分類中覆蓋dealloc方法怎囚,iOS8在這里面移除通知的話,再次進(jìn)入這個(gè)包含UITextView的頁(yè)面桥胞,編輯的時(shí)候會(huì)
crash:-[UIText View textInputView]: message sent to deallocated instance 0x1018beca0.
一句話調(diào)用:textView.zp_placeholder = @"你想要的恳守,我還要"; 搞定。
第一次寫文章贩虾,不對(duì)之處請(qǐng)指正催烘;不喜歡寫文章,高三作文都不帶寫的整胃。諒解颗圣。還是看代碼吧。