iOS应用点

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

2016-03-26  本文已影响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版:

上一篇下一篇

猜你喜欢

热点阅读