给textview设置水印效果

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


实现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设置水印效果)