简单几步实现 IOS UITextField输入长度的控制

限制iOS UITextField输入长度
本文介绍了一种在iOS开发中限制UITextField输入长度的方法,通过创建自定义类MyTextField,并使用Swift编程实现对输入框输入值的监听和长度控制。

在ios开发过程中,我们有时候需要对UITextField的输入长度进行控制,比如输入手机号码最大长度为11位等,而ios自身又不像android那样可以设置输入框的输入长度,接下来通过简单几步实现这个功能:

1.新建一个类继续UITextField比如这个类叫MyUITextField

2.声明一个变量用来记录输入的最大长度

3.添加一个事件用于监听输入框输入值的变化

4.通过判断当前text字符串的长度是否大于最大长度来截取字符串并赋值給当前text保证text字符串的值始为指指定的最大长度

 

代码如下:

 

 

import UIKit

 

 

 

class MyTextField: UITextField{

 

   

 

     var maxLength=11//能输入的最大长度

 

 

    override init(frame: CGRect) {

 

        super.init(frame: frame)

 

        self.addEvent()

 

    }

 

    required init?(coder aDecoder: NSCoder) {

 

        

 

        super.init(coder: aDecoder)

 

        

 

        self.addEvent()

 

    }

 

    

 

    //添加事件用于监听输入框值的变化

 

    func addEvent(){

 

         self.addTarget(self, action: #selector(valueChage), for: .editingChanged)

 

    }

 

    

 

    

 

    //限制输入框的输入长度

 

    func valueChage() {

 

       

 

        if (self.text?.characters.count)!>maxLength{

 

            let idx = self.text?.index((text?.startIndex)!, offsetBy: maxLength)

 

            self.text=self.text?.substring(to: idx!)

 

           

 

        }

 

    

 

      

 

    }

 

}

 

转载于:https://www.cnblogs.com/zzjbk/p/6718173.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值