UITextField控制键盘输入的字符(如只输入数字和大小写字母)

   在实际开发中,经常会遇到UITextField的文本内容的限制,如密码的格式(只允许数字,或者允许数字和大小写字母,等。。。),还有快递单号的输入。后台数据库的信息储存,和前端的录入控制分不开关系,简单的一些只输入数字什么的更改键盘类型就可以做到,但是会有一些,例如快递单号什么的,可就只允许输入数字和字母。废话不说,上代码。

UITextField有一个代理方法如下:

       方法说明:问委托指定的文本是否应该被改变。真的如果指定的文本范围应该取代;否则,假保持旧的文本。如果返回NO,就不改变,保持原来文本。

Objective-C版:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string;

Swift版:

optional public func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool 


代码实现:

      首先你应该设置好该控件UITextField的代理为自己,然后遵守协议(引入遵守协议),然后实现协议方法:

Objective-C版:


Swift版:


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容