Swift 限制 TextField 输入字符数量
2017-06-12 21:37
363 查看
效果图
方法:
原理:判断用户输入字符串后是 textfield 中字符数量否会超过限定范围
获取 textfield 添加了字符之后的数量:
let textLength = text.characters.count + string.characters.count - range.length
解析:textField 对于在textField中选中多个字符替换文字的时候,是先将其中的的选中文字删除(选中范围保存到range中),然后再添加新的字符,若非选中多个删除则是删除长度 range.length = 1 的字符,若是选中一段文字则是直接删除长度为 range.length 的文字
代码:
方法:
/// 限制 textField 字符输入数量 /// /// - Parameters: /// - textField: 用户输入的textField /// - range: 例如粘贴或者选中一段文字所占用的范围 /// - string: 用户将要输入的字符 /// - Returns: 是否允许用户输入到。textfield func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool
原理:判断用户输入字符串后是 textfield 中字符数量否会超过限定范围
获取 textfield 添加了字符之后的数量:
let textLength = text.characters.count + string.characters.count - range.length
解析:textField 对于在textField中选中多个字符替换文字的时候,是先将其中的的选中文字删除(选中范围保存到range中),然后再添加新的字符,若非选中多个删除则是删除长度 range.length = 1 的字符,若是选中一段文字则是直接删除长度为 range.length 的文字
代码:
// 首先让控制器遵循 UITextFieldDelegate 的代理 class ViewController: UIViewController , UITextFieldDelegate // 然后要让指定 textField 的代理 myTextField.delegate = self // 利用代理方法控制字符数量 func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { guard let text = textField.text else{ return true } let textLength = text.characters.count + string.characters.count - range.length return textLength<=8 }
相关文章推荐
- ios textField限制只能输入一定长度的字符
- textfield、 textView内容长度限制(中文输入越界)附带:textView回车效果,判断禁止字符
- iOS(Swift) TextField限制输入文本的长度(不是字数)
- iOStextfield 限制输入字符长度和过滤表情符号
- 关于textfield与textview限制输入字符长度时的越界
- iOS(Swift) TextField限制输入文本的长度(不是字数)
- TextField中进行字符的输入限制
- iOStextfield 限制输入字符长度和过滤表情符号 - CSDN.NET
- 利用TextFieldDelegate代理方法 – textField:shouldChangeCharactersInRange:replacementString: 限制输入字符
- TextField中进行字符的输入限制
- TextField限制输入字符
- 设置textfield输入框输入内容上下限 (字符数量)
- textfield/textview的子类,实现功能:几种不同类型的最大输入字符串字数限制,剩余可输入字符数,emoji表情过滤
- 限制UIAlertView上的TextField的输入字符长度
- 限制UIAlertView上的TextField的输入字符长度
- android 中如何限制 EditText 最大输入字符数
- iOS开发之textField限制输入字数
- textField限制输入长度
- android 中如何限制 EditText 最大输入字符数
- editText限制输入字符长度,禁止输入表情,清除输入文字的按钮