在iOS开发中我们经常会用到UITextField和UITextView,在使用UITextField时系统会自己提供placeholder属性,但是在UITextView则没有,那么如何在UITextView中设置placeholder呢,如下所示:
方法一:
#pragma mark - 懒加载
- (UITextView *)textView {
if (!_textView) {
_textView = [UITextView new];
_textView.backgroundColor = [UIColor lightGrayColor];
_textView.layer.cornerRadius = 5;
_textView.font = [UIFont systemFontOfSize:12]; //注意必须设置字体大小,不然在UI显示时会出现placeholder字体上移的情况
UILabel *placeHolderLabel = [[UILabel alloc] init];
placeHolderLabel.text = @"请输入内容";
placeHolderLabel.numberOfLines = 0;
placeHolderLabel.textColor = [UIColor lightGrayColor];
[placeHolderLabel sizeToFit];
placeHolderLabel.font = [UIFont systemFontOfSize:12];
[_textView addSubview:placeHolderLabel];
[_textView setValue:placeHolderLabel forKey:@"_placeholderLabel"];
}
return _textView;
}
方法二:使用第三方库UITextView+Placeholder
直接pod 'UITextView+Placeholder'
然后在需要使用的页面#import "UITextView+Placeholder.h"即可
在使用时如下:
textView.placeholder = @"请输入内容";