iOS開發-帶Placeholder的UITextView實現
iOS中UITextField帶有PlaceHolder屬性,可以方便用于提示輸入。但是同樣可以進行文本輸入的UITextView控件則沒有PlaceHolder屬性,還是有些不方便的,尤其是對于略帶強迫癥的我來說。
然后搜索了一番,發現廣大開發者的智慧的無窮的,找到一種替代方案,如下:
核心思路就是使用2個UITextView來模擬PlaceHolder的效果,其中做為輸入區域的TextView在表面,背景要設為透明,作為PlaceHolder角色的TextView則在底層,兩者通過UITextViewDelegate來動態控制。
代碼實現如下:
//通過判斷表層TextView的內容來實現底層TextView的顯示于隱藏 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if(![text isEqualToString:@""]) { [_backgroundTextView setHidden:YES]; } if([text isEqualToString:@""]&?.length==1&?.location==0){ [_backgroundTextView setHidden:NO]; } if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; }
大概就是上面這樣的咯,總之,任何實現都是有可行的替代方案的。
原文 http://www.cnblogs.com/mantgh/p/4272619.html
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!