首页 > 代码库 > 简单几步实现 IOS UITextField输入长度的控制
简单几步实现 IOS UITextField输入长度的控制
在ios开发过程中,我们有时候需要对UITextField的输入长度进行控制,比如输入手机号码最大长度为11位等,而ios自身又不像android那样可以设置输入框的输入长度,接下来通过简单几步实现这个功能:
1.新建一个类继续UITextField比如这个类叫MyUITextField
2.声明一个变量用来记录输入的最大长度
3.添加一个事件用于监听输入框输入值的变化
4.通过判断当前text字符串的长度是否大于最大长度来截取字符串并赋值給当前text保证text字符串的值始为指指定的最大长度
代码如下:
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff; min-height: 16.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #4cbf57 } p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #00afca } span.s1 { color: #c2349b } span.s2 { } span.s3 { color: #00afca } span.s4 { color: #8b84cf } span.s5 { color: #93c86a } span.s6 { font: 14.0px Menlo; color: #ffffff } span.s7 { font: 14.0px Menlo } span.s8 { color: #ffffff }</style>
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!)
}
}
}
<style>p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff; min-height: 16.0px } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #ffffff } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "PingFang SC"; color: #4cbf57 } p.p4 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Menlo; color: #00afca } span.s1 { } span.s2 { color: #c2349b } span.s3 { color: #00afca } span.s4 { color: #8b84cf } span.s5 { color: #93c86a } span.s6 { font: 14.0px Menlo; color: #ffffff } span.s7 { font: 14.0px Menlo } span.s8 { color: #ffffff }</style>
简单几步实现 IOS UITextField输入长度的控制