UITextView添加placeholderLabel

UITextView没有placeholder需要自己手动添加

@property (nonatomic,strong) UILabel * placeholderLabel;
@property(nonatomic,strong) UILabel *textNumberLabel; 

添加textview

_placeholderLabel = [[UILabel alloc]initWithFrame:CGRectMake(5, 7, kScreen_Width - 10, 15)];
    /** 设置背景色 */
    _placeholderLabel.backgroundColor = [UIColor clearColor];
    /** 设置字体 */
    _placeholderLabel.font = [UIFont systemFontOfSize:14];
    /** 设置字体颜色 */
    _placeholderLabel.textColor = kColor_GrayText;
    /** 设置提示文字 */
    _placeholderLabel.text = @"我们很重视您的意见~";
    /** 设置label不可编辑 */
    _placeholderLabel.enabled = NO;
    /** 初始默认显示 */
    _placeholderLabel.hidden = NO;
    [_textView addSubview:_placeholderLabel];

添加显示字数的label


    //记录字数
    _textNumberLabel = [[UILabel alloc]init];
    [view addSubview:_textNumberLabel];

    _textNumberLabel.text           = @"0/150";
    _textNumberLabel.font           = [UIFont systemFontOfSize:13];
    _textNumberLabel.textColor      = kColor_GrayText;
    _textNumberLabel.textAlignment  = NSTextAlignmentRight;

    [_textNumberLabel makeConstraints:^(MASConstraintMaker *make) {
        make.right.equalTo(_textView.right);
        make.bottom.equalTo(_textView.bottom).offset(-5);
        make.size.equalTo(CGSizeMake(50, 13));
    }];

@interface里添加代理UITextViewDelegate

-(void)textViewDidChange:(UITextView *)textView
{
    if (!(textView.text.length > 0)) {

        _placeholderLabel.hidden = NO;

    }else if(textView.text.length>150){

        _placeholderLabel.hidden = YES;
        [HUDUtil showMessage:@"字数已超出" View:self.view];

    }else{
        _placeholderLabel.hidden = YES;
    }

//计算字数
    NSInteger num = 150 - _textView.text.length;

    if (!(num > 0 ))
    {
        _textView.text = [_textView.text substringToIndex:149];
    }

    _textNumberLabel.text = [NSString stringWithFormat:@"%li/150",num];
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值