美文网首页
给textview设置水印效果

给textview设置水印效果

作者: 红酒佳坊 | 来源:发表于2016-01-08 14:09 被阅读749次

在使用时,有时有的代码要移到其他的协议方法中

实现UITextView和UITextField相同效果的水印提示,可根据自己要求更改

1、定义textview的时候设置其属性:

textView.textColor=[UIColor lightGrayColor];//设置提示内容颜色

textView.text=NSLocalizedString(@"InputReason", nil);//提示语

textView.selectedRange=NSMakeRange(0,0) ;//光标起始位置

textView.delegate=self;代理

2、- (void)textViewDidChangeSelection:(UITextView *)textView

{

if (textView.textColor==[UIColor lightGrayColor])//如果是提示内容,光标放置开始位置

{

NSRange range;

range.location = 0;

range.length = 0;

textView.selectedRange = range;

}

}

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

{

if (![text isEqualToString:@""]&&textView.textColor==[UIColor lightGrayColor])//如果不是delete响应,当前是提示信息,修改其属性

{

textView.text=@"";//置空

textView.textColor=[UIColor blackColor];

}

if ([text isEqualToString:@"\n"])//回车事件

{

if ([textView.text isEqualToString:@""])//如果直接回车,显示提示内容

{

textView.textColor=[UIColor lightGrayColor];

textView.text=NSLocalizedString(@"InputReason", nil);

}

[textView resignFirstResponder];//隐藏键盘

return NO;

}

return YES;

}

- (void)textViewDidChange:(UITextView *)textView

{

if ([textView.text isEqualToString:@""])

{

textView.textColor=[UIColor lightGrayColor];

textView.text=NSLocalizedString(@"InputReason", nil);

}

}

相关文章

网友评论

      本文标题:给textview设置水印效果

      本文链接:https://www.haomeiwen.com/subject/kxnfkttx.html