不曉得為何要把Placeholder翻成佔位符,不過仔細想也有其道理。常用TextField的Placeholder,在還沒開始要輸入文字前,會有預設文字在TextField中,當我們點下去要開始輸入文字,Placeholder就被清空了!表示其實那些字只是佔位置用啦~
儘管Text View沒有Placeholder這個property,但是我們可以透過些手法,讓它表現得像TextField的Placeholder!
首先拉出Text View並設定delegate,接下來實作兩個方法⋯⋯
/**
Theme: Using Placeholder on TextView
IDE: Xcode 6
Language: Objective C
Date: 103/11/01
Author: HappyMan
Blog: https://cg2010studio.wordpress.com/
*/
- (void)textViewDidBeginEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:HTLocalizedString(@"請留下您想說的話", nil)]) {
textView.text = @"";
textView.textColor = [UIColor blackColor]; //optional
}
[textView becomeFirstResponder];
}
- (void)textViewDidEndEditing:(UITextView *)textView
{
if ([textView.text isEqualToString:@""]) {
textView.text = HTLocalizedString(@"請留下您想說的話", nil);
textView.textColor = [UIColor lightGrayColor]; //optional
}
[textView resignFirstResponder];
}
在Text View的界面上我們預先輸入「請留下您想說的話」,於是我們開始編輯要輸入文字時,便會判斷若字串等於「請留下您想說的話」,就會清空。而當我們結束編輯沒有輸入任何文字,又會判斷若字串等於「空」,就會再次出現「請留下您想說的話」!而Placeholder顏色可以選擇性自訂喲~
參考:Placeholder in UITextView、[iOS] 擁有 Placeholder 的 UITextView。

隨意留個言吧:)~