debug - UITextField 输入完跳入下一field,按钮变化
来源:互联网 发布:上海公交车软件 编辑:程序博客网 时间:2024/06/09 19:09
textField
.h 里创建对象
@interface ***Controller : UIViewController
{
UITextField *phoneNumber;
UITextField *verification;
}
.m 里编写逻辑及其相关的方法
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:nil]; if (cell == nil) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; } cell.selectionStyle = UITableViewCellSelectionStyleNone; if (indexPath.row == 0) { phoneNumber = [[UITextField alloc] initWithFrame:CGRectMake(20, 0, 200, 44)]; phoneNumber.placeholder = @"手机号"; phoneNumber.font = [UIFont systemFontOfSize:14.0f]; phoneNumber.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; phoneNumber.keyboardType = UIKeyboardTypePhonePad; // phoneNumber.returnKeyType = UIReturnKeyDone; phoneNumber.delegate = self; [cell.contentView addSubview:phoneNumber]; } if (indexPath.row == 1) { verification = [[UITextField alloc] initWithFrame:CGRectMake(20, 0, 200, 44)]; verification.placeholder = @"验证码"; verification.font = [UIFont systemFontOfSize:14.0f]; verification.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; [cell.contentView addSubview:verification]; sendBtn = [UIButton buttonWithType:UIButtonTypeCustom]; // sendBtn.enabled = YES; [sendBtn setFrame:CGRectMake(CGRectGetWidth(tableView.frame) - 90, 10, 80, 22)]; [sendBtn setTitle:@"发送验证码" forState:UIControlStateNormal]; [sendBtn.titleLabel setFont:[UIFont systemFontOfSize:13.0]]; [sendBtn setBackgroundColor:COLOR(238, 238, 238, 1)]; [sendBtn.layer setCornerRadius:10.0f]; [sendBtn addTarget:self action:@selector(sendButtonClick:) forControlEvents:UIControlEventTouchUpInside]; [cell.contentView addSubview:sendBtn]; } return cell;} phoneNumber.returnKeyType = UIReturnKeyDone; phoneNumber.delegate = self; [cell.contentView addSubview:phoneNumber]; } if (indexPath.row == 1) { verification = [[UITextField alloc] initWithFrame:CGRectMake(20, 0, 200, 44)]; verification.placeholder = @"验证码"; verification.font = [UIFont systemFontOfSize:14.0f]; verification.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter; [cell.contentView addSubview:verification]; sendBtn = [UIButton buttonWithType:UIButtonTypeCustom]; // sendBtn.enabled = YES; [sendBtn setFrame:CGRectMake(CGRectGetWidth(tableView.frame) - 90, 10, 80, 22)]; [sendBtn setTitle:@"发送验证码" forState:UIControlStateNormal]; [sendBtn.titleLabel setFont:[UIFont systemFontOfSize:13.0]]; [sendBtn setBackgroundColor:COLOR(238, 238, 238, 1)]; [sendBtn.layer setCornerRadius:10.0f]; [sendBtn addTarget:self action:@selector(sendButtonClick:) forControlEvents:UIControlEventTouchUpInside]; [cell.contentView addSubview:sendBtn]; } return cell;}// 此方法的唯一缺陷是,判断的延迟,当输入完成后,才判断字符串长度- (BOOL) textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ // 当输入的数字长度为11时,自动跳入验证码输入框 if (phoneNumber.text.length == 11) { // 验证码框成为第一响应者,即当输入窗口完成时,自动跳到验证码窗口,“发送验证码”按钮亮起 [verification becomeFirstResponder]; // 发送按钮可点击,NO:不可点击 sendBtn.enabled = YES; [sendBtn setBackgroundColor:[UIColor grayColor]]; return NO; } else { [sendBtn setBackgroundColor:COLOR(238, 238, 238, 1)]; } return YES;}// 在当前框内开始编辑时,触发此方法- (void)textFieldDidBeginEditing:(UITextField *)textField{ sendBtn.enabled = YES; [sendBtn setBackgroundColor:COLOR(238, 238, 238, 1)];}
另外,有关UITextField的方法还有- (BOOL)textFieldShouldReturn:(UITextField *)textField
// 该方法 键盘弹出的时候 点return键盘隐藏- (BOOL)textFieldShouldReturn:(UITextField *)textField{ if ([NameStr isEqualToString:textField.text]) { return [NameTF resignFirstResponder]; }else { if (textField.text.length > 0 && textField.text.length <= 15) { NameStr = NameTF.text; [self updateNickName]; }else { [Dialog simpleToast:@"请输入昵称并确保不超过20位"]; } } return [nickNameTF resignFirstResponder];}
0 0
- debug - UITextField 输入完跳入下一field,按钮变化
- UITextField监控输入文字变化
- debug - UITextField 控制输入长度
- UITextField监控输入文字变化方法
- iOS UITextField监控输入文字变化方法
- 实时监听UITextField的输入内容变化
- UITextField监控输入文字变化方法
- UITextField 限制输入长度 (动态监听属性变化)
- UItextField 一键删除小按钮
- UITextField监听按下了删除按钮
- MyEclipse自动跳入debug模式的解决
- 20150403按下按钮背景变化效果
- UITextField检测汉字变化
- 监听UITextField文字变化
- 通过代理监听UITextField按下了return按钮
- 如何限制UITextField输入长度(监听textField文本变化的事件)
- UITextField限制中文输入下的字符长度
- UITextField出现删除按钮
- H.264 中 SAD SATD及常见知识点
- Go学习1: Hello world
- 简单的java调C
- 2014校园招聘总结(转载)
- Android NDK开发之 opencv for android 问题总结
- debug - UITextField 输入完跳入下一field,按钮变化
- 64位开源处理器Rocket的源代码简单介绍
- Android体验高扩展艺术般的适配器
- 【Linux】系统数据文件和信息
- oracle dg 维护常用操作和调优
- How to install Maven on Mac OS X Mavericks (10.9)
- Android内存优化之磁盘缓存
- vmware安装centos以及实现win7和centos自由拖放文件
- unity3D游戏开发之雾效、水效和音效