iOS UITextView 添加提示水印

實(shí)現(xiàn)UITextView和UITextField相同效果的水印提示,可根據(jù)自己要求更改

1、定義textview的時(shí)候設(shè)置其屬性:

textView.textColor=[UIColor lightGrayColor];//設(shè)置提示內(nèi)容顏色

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

textView.selectedRange=NSMakeRange(0,0) ;//光標(biāo)起始位置

textView.delegate=self;代理

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

{

if (textView.textColor==[UIColor lightGrayColor]

&&[textView.textisEqualToString:NSLocalizedString(@"InputReason", nil)]

)//如果是提示內(nèi)容,光標(biāo)放置開始位置

{

NSRange range;

range.location = 0;

range.length = 0;

textView.selectedRange = range;

}elseif(textView.textColor==[UIColorlightGrayColor])//中文輸入鍵盤

{

NSString*placeholder=NSLocalizedString(@"InputReason", nil);

textView.textColor=[UIColorblackColor];

textView.text=[textView.textsubstringWithRange:NSMakeRange(0, textView.text.length-placeholder.length)];

}

}

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

{

if (![text isEqualToString:@""]&&textView.textColor==[UIColor lightGrayColor])//如果不是delete響應(yīng),當(dāng)前是提示信息,修改其屬性

{

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

textView.textColor=[UIColor blackColor];

}

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

{

if ([textView.text isEqualToString:@""])//如果直接回車,顯示提示內(nèi)容

{

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);

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容