博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS UITextField相关
阅读量:6339 次
发布时间:2019-06-22

本文共 2956 字,大约阅读时间需要 9 分钟。

  hot3.png

 1. 隐藏键盘

//触摸self.view隐藏- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {    [self.view endEditing:YES];}//滚动UITableView隐藏- (void)scrollViewDidScroll:(UIScrollView *)scrollView {    [self.view endEditing:YES];}

2. new个field

#pragma mark - Getter- (UITextField *)fieldAccount {    if (!_fieldAccount) {        _fieldAccount = [UITextField newAutoLayoutView];        _fieldAccount.delegate = self;                //提示文字颜色        NSDictionary *attributes = @{NSFontAttributeName:[UIFont kMyFontCNSize:12],                                     NSForegroundColorAttributeName:[UIColor redColor]};         NSAttributedString *attrStr = [[NSAttributedString alloc] initWithString:@"还想关注" attributes:attributes];        _fieldAccount.attributedPlaceholder = attrStr;                _fieldAccount.clearButtonMode = UITextFieldViewModeWhileEditing;        _fieldAccount.keyboardType = UIKeyboardTypePhonePad;        _fieldAccount.returnKeyType = UIReturnKeyNext;                _fieldAccount.font = kFontCNSize(12);        _fieldAccount.tintColor = kColorRed;                _fieldAccount.textColor = [UIColor whiteColor];        _fieldAccount.textAlignment = NSTextAlignmentCenter;        [self.view addSubview:_fieldAccount];    }        return _fieldAccount;}

3. textField代理 限制输入长度

#pragma mark - UITextFieldDelegate- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {    NSInteger len = 30;    //手机号11位数字    if (self.fieldAccount == textField) {        len = 11;    } else if (self.fieldPassword == textField) {        len = 16;    }    NSString *toBeString = [textField.text stringByReplacingCharactersInRange:range withString:string];    if (toBeString.length > len && range.length!=1) {        textField.text = [toBeString substringToIndex:len];        return NO;    }    if (self.fieldAccount == textField) {        return [self validateNumber:string];    }    return YES;}- (BOOL)validateNumber:(NSString*)number {    NSCharacterSet *tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];    int i = 0;    while (i < number.length) {        NSString *string = [number substringWithRange:NSMakeRange(i, 1)];        NSRange range = [string rangeOfCharacterFromSet:tmpSet];        if (range.length == 0) {            return NO;        }        i++;    }    return YES;}//或者- (BOOL)validateNumber:(NSString*)number field:(UITextField *)field{    NSCharacterSet *tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789+*#"];    int i = 0;    while (i < number.length) {        NSString *string = [number substringWithRange:NSMakeRange(i, 1)];        NSRange range = [string rangeOfCharacterFromSet:tmpSet];        if (range.length == 0) {            field.text = (number.length == 1)?@"":[number substringToIndex:i];            return NO;        }        i++;    }        return YES;}

4. 

5. 

转载于:https://my.oschina.net/dkdsj/blog/607131

你可能感兴趣的文章
【HDOJ 3652】B-number
查看>>
android代码混淆笔记
查看>>
Codeforces Round #423 (Div. 2, rated, based on VK Cup Finals) C. String Reconstruction 并查集
查看>>
BMP文件的读取与显示
查看>>
Flash文字效果
查看>>
各种排序算法总结篇(高速/堆/希尔/归并)
查看>>
使用c#訪问Access数据库时,提示找不到可安装的 ISAM
查看>>
Linux常用基本命令[cp]
查看>>
CSS 相对|绝对(relative/absolute)定位系列(一)
查看>>
关于 Nginx 配置 WebSocket 400 问题
查看>>
Glide和Govendor安装和使用
查看>>
Java全角、半角字符的关系以及转换
查看>>
Dubbo和Zookeeper
查看>>
前端项目课程3 jquery1.8.3到1.11.1有了哪些新改变
查看>>
UOJ#179. 线性规划(线性规划)
查看>>
整合spring cloud云架构 - SSO单点登录之OAuth2.0登录认证(1)
查看>>
windows的服务中的登录身份本地系统账户、本地服务账户和网络服务账户修改
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
redis 安装
查看>>
SQL some any all
查看>>