实时约束文字长度

@property (nonatomic, strong) UITextField *nameTextField;

@property (nonatomicstrongUITextView *signTextView;

@property (nonatomic, assign) NSInteger location;//用来记录当前文字的长度(包括光标提示字,输入一个字母相当于一个文字的长度)





 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textChangeLength:) name:UITextViewTextDidChangeNotification object:nil];

//UITextView需要添加通知


    [_nameTextField addTarget:self action:@selector(textChangeLength:) forControlEvents:UIControlEventEditingChanged];


//UITextField只需要添加观察事件  UIControlEventEditingChanged



- (void)textChangeLength:(NSInteger)length

{

   

    if ([self.nameTextField isFirstResponder]) {

        NSRange range1 = [self.nameTextField markedRange];

        if (range1.location) {

            _location = range1.location;

        }


        if (!range1.length) {

            if ([YjbTool getLength:self.nameTextField.text]>TEXT_COUNT) {

                ;


                self.nameTextField.text = [self.nameTextField.text substringToIndex: _location];

                

            }else

            {

                _location = [self.nameTextField.text length];

            }

        }


    }else

    {

        NSRange range1 = [self.signTextView markedRange];

        if (range1.location) {

            _location = range1.location;

        }

        

        if (!range1.length) {

            if ([YjbTool getLength:self.signTextView.text]>length) {

                ;

                

                self.signTextView.text = [self.signTextView.text substringToIndex: _location];

                

            }else

            {

                _location = [self.signTextView.text length];

            }

        }

    }

 

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值