Just My Life & My Work

不曉得為何要把Placeholder翻成佔位符,不過仔細想也有其道理。常用TextField的Placeholder,在還沒開始要輸入文字前,會有預設文字在TextField中,當我們點下去要開始輸入文字,Placeholder就被清空了!表示其實那些字只是佔位置用啦~

Using Placeholder on TextView

儘管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

隨意留個言吧:)~

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料

標籤雲