将默认文本添加到UITextView

时间:2014-02-02 01:02:55

标签: ios text uitextview

我想知道如何在UITextView中显示默认提示。如果我希望用户在文本视图中键入描述,UITextView可能会在其中打印“描述”,当用户开始输入时,它就会消失。

4 个答案:

答案 0 :(得分:3)

对于UITextField,有placeholderText属性,该属性会显示一个灰色的文本,一旦用户开始输入就会删除。

对于UITextView,您可以使用自定义实现,例如SZTextView,它实现占位符文本的类似功能。

答案 1 :(得分:2)

将第三方uitextview用于占位符属性并不是一个明智的想法。 按照以下步骤操作即可实现所需 -

    set- textview.textcolor=[uicolor greycolor];
    textview.text=@"Your initial placeholder text";

现在在-textViewShouldBeginEditing中编写这些代码行 -

    if(textview.color==[uicolor greycolor]){
         textview.color=[uicolor blackcolor];
         textview.text=@"";

    }

干杯。

答案 2 :(得分:0)

试试这个......

对于UITextView:

UITextView *myUITextView = [[UITextView alloc] init];
myUITextView.delegate = self;
myUITextView.text = @"placeholder text here...";

对于UITextField:

UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(0, 0, 150, 200)];
textField.placeholderText = @"Enter your text here";
[self.view addSubview textField];

答案 3 :(得分:0)

@svmrajesh的以下解决方案尚未完成。您仍然需要实现自动删除功能,以便用户选择textView后立即删除默认文本。

在我的实现中,我最初将UITextView中的文本设置为lightGrayColor,以使其看起来像默认文本

[textView setTextColor:[UIColor lightGrayColor]];  

然后在头文件中实现UITextViewDelegate。

@interface YourViewController <UITextViewDelegate>

然后我将UITextView委托设置为self。

[textView setDelegate:self];

然后,我简单地实现了以下委托方法,当用户选择textView开始输入其文本时,将触发该委托方法。要做的第一件事是检查文本颜色是否仍设置为lightGray。

如果是,则仍显示默认文本,因此将其删除并将textColor设置为黑色。这个简单的解决方案很适合我。

-(void)textViewDidBeginEditing:(UITextView *)textView
{
   if(textView.textColor == [UIColor lightGrayColor])
   {
    textView.textColor = [UIColor blackColor];
    textView.text = @"";
   }
}