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

在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!)

}

}

}

上一篇:iOS TextField输入限制(限制长度、只能输入数字,只能输入数字字母……)


下一篇:Chrome 的 100 个小技巧 中文版