2011-03-17 151 views
0

當文本長度小於某個閾值時,任何人都會在UITextView中實現某些東西來阻止它接收將來的輸入。我計劃像我們在郵件編輯器界面中一樣實現一個textview。我們在那裏有一個佔位符「主題」,並且光標在之後開始。UITextView的佔位符

Placeholder in UITextView 受此問題的啓發,我想知道是否有一些方法可以用來停止在光標移回佔位符字符串時更改UITextView中的文本。

任何想法?

回答

0

剛剛清除它,然後預先等待文本無論用戶提交什麼?

+0

權。這是我目前的想法。但是通過註冊UITextViewTextDidChangeNotification事件的觀察者,我們不能輕易截取用戶剛輸入的字母。 – 2011-03-19 11:58:26

+0

很老的帖子,但仍值得一說:我所知道的是,使用'textView:shouldChangeTextInRange:replacementText:'委託方法可以很容易地截獲字母輸入...只需使用replacementText截取用戶輸入的內容... – Cashew 2012-10-02 22:08:30

0

那麼你可以使用類似..

- (void)textViewDidBeginEditing:(UITextView *)textView 
{ 

    if (self.textView.textColor != [UIColor blackColor]) { 

     self.textView.text = @""; 
     self.textView.textColor = [UIColor blackColor]; 
    } 

} 

- (void)textViewDidEndEditing:(UITextView *)textView 
{ 
//To display the placeholder text 
    if (![self.textView.text length]) { 

     self.textView.text = @"Description"; 
     self.textView.textColor = [UIColor lightGrayColor]; 
    } 

}