如何在 UItextView 中添加 placeHolder 文本?在 iphone sdk [重复]

Posted

技术标签:

【中文标题】如何在 UItextView 中添加 placeHolder 文本?在 iphone sdk [重复]【英文标题】:How to add placeHolder Text in UItextView? in iphone sdk [duplicate] 【发布时间】:2011-06-17 15:50:45 【问题描述】:

可能重复:Placeholder in UITextView

在 iPhone 应用程序中如何在UItextView 中添加 placeHolder 文本(以保存一些默认文本)?

【问题讨论】:

请编辑您的问题,解释您所说的“占位符”是什么意思 这会帮助你:***.com/a/17451491/1442541 【参考方案1】:

很简单,我就是这样做的。对我来说效果很好。希望这对某人有所帮助。。

#pragma mark -
#pragma mark TextView Delegate methods


    UITextView itsTextView = [[UITextView alloc] initWithFrame:CGRectMake(0, 0, itsTextView.frame.size.width, itsTextView.frame.size.height)];
            [itsTextView setDelegate:self];
            [itsTextView setReturnKeyType:UIReturnKeyDone];
            [itsTextView setText:@"List words or terms separated by commas"];
            [itsTextView setFont:[UIFont fontWithName:@"HelveticaNeue" size:11]];
            [itsTextView setTextColor:[UIColor lightGrayColor]];

- (BOOL) textViewShouldBeginEditing:(UITextView *)textView

    if (itsTextView.textColor == [UIColor lightGrayColor]) 
        itsTextView.text = @"";
        itsTextView.textColor = [UIColor blackColor];
    

    return YES;


-(void) textViewDidChange:(UITextView *)textView

    if(itsTextView.text.length == 0)
        itsTextView.textColor = [UIColor lightGrayColor];
        itsTextView.text = @"List words or terms separated by commas";
        [itsTextView resignFirstResponder];
    


- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text 

    if([text isEqualToString:@"\n"]) 
        [textView resignFirstResponder];
        if(itsTextView.text.length == 0)
            itsTextView.textColor = [UIColor lightGrayColor];
            itsTextView.text = @"List words or terms separated by commas";
            [itsTextView resignFirstResponder];
        
        return NO;
    

    return YES;

【讨论】:

我包含了上面的代码,但是在开始编辑时它会清除占位符,但在 viewdidchange 中它总是放置占位符,因此用户无法在 textview 中编辑/键入是否有任何解决方案 Hai @sugan.s 我猜你没有将文本颜色设置为 '[itsTextView setTextColor:[UIColor lightGrayColor]];' 如您所见,我们正在根据文本颜色清除文本..如果有帮助请告诉我.. 我应该在这里包含代码吗?你能帮我吗 海素干,请把代码发给dilip.id@me.com 我会尽力提供帮助,或者你可以将它作为新问题发布并在此处提供链接..

以上是关于如何在 UItextView 中添加 placeHolder 文本?在 iphone sdk [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 UItextView 中添加 placeHolder 文本?在 iphone sdk [重复]

在 UITextView 中添加按钮和文本

如何将双击手势添加到 UITextView

如何防止用户在 Swift 5 的 UITextView 中添加太多换行符?

如何将菜单选项添加到 NSTextAttachment 弹出菜单是 UITextView?

cocos2d中如何使用UITextView添加滚动文本?