我想知道如何在UITextView中显示默认提示。如果我希望用户在文本视图中键入描述,UITextView可能会在其中打印“描述”,当用户开始输入时,它就会消失。
答案 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 = @"";
}
}