iOS给UITextView添加placeholder

    在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 = @"请输入内容";

猜你喜欢

转载自blog.csdn.net/qq_37269542/article/details/107457893