美文网首页iOS应用点
UITextField控制键盘输入的字符(如只输入数字和大小写字

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

作者: 张梓辰 | 来源:发表于2016-03-26 14:38 被阅读1572次

   在实际开发中,经常会遇到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版:

相关文章

网友评论

  • Funnyer:当使用第三方键盘的时候,并且在iOS10的情况下,我发现让UITextField弹出数字键盘,出现的是系统的数字键盘,怎么样让UITextField弹出第三方键盘的数字键盘呢?
  • 超_iOS:发现中文联想的话根本不进这个方法的,楼主注意过这问题么

本文标题:UITextField控制键盘输入的字符(如只输入数字和大小写字

本文链接:https://www.haomeiwen.com/subject/axpdlttx.html