2011-03-17 154 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]; 
    } 

}