获取UITableViewCell中UITextField的值方法总结

原创 2012年03月21日 17:36:27

UITableViewCell的contentView中的UITextField的值获取有几种方法,本人简单总结一下。

1.  获取UITextField所以Cell的NSIndexPath,知道了NSIndexPath就知道了这个UITextField是干什么的了。

可以在

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
//get cell
UITableViewCell *cell = [UITableViewCell ][[textField superview] superview];
NSIndexPath *indexPath = [tableView indexPathForCell:cell];
}


- (void)textFieldDidEndEditing:(UITextField *)textField
{
	//get cell
	UITableViewCell *cell  = (UITableViewCell *)[[textField superview] superview];
	NSIndexPath *indexPath = [tableView indexPathForCell:cell];
}

中得知道UITextField中text是哪一个数据结构的值,前一个是实时的,后一个是失去焦点时一次性的。


2。第二种方法与上面第一个有点类似也是实时的,来自:http://blog.sina.com.cn/s/blog_9ca91e4a0100xlvu.html

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSInteger row = [indexPath row];
    
    static NSString  *CellIdentifier = @"CellIdentifier";
    
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
    }
    
    cell.textLabel.text = [_passwordArray objectAtIndex:row];
    
    CGRect textFieldRect = CGRectMake(0.0, 0.0f, 215.0f, 31.0f);
    UITextField *theTextField = [[UITextField alloc] initWithFrame:textFieldRect];
    theTextField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    theTextField.returnKeyType = UIReturnKeyDone;
    theTextField.secureTextEntry = YES;
    theTextField.clearButtonMode = YES;
    theTextField.tag = row;
    theTextField.delegate = self;

//此方法为关键方法
    [theTextField addTarget:self action:@selector(textFieldWithText:) forControlEvents:UIControlEventEditingChanged];
    
    switch (row) {
        case 0:
            theTextField.placeholder = @"请输入旧密码";
            break;
        case 1:
            theTextField.placeholder = @"请输入新密码";
            break;
        case 2:
            theTextField.placeholder = @"请再次输入新密码";
            break;
        default:
            break;
    }
    
    cell.accessoryView = theTextField; 
    [theTextField release];
    
    return cell;
}

- (void)textFieldWithText:(UITextField *)textField
{
    switch (textField.tag) {
        case 0:
            self.theOldPassword = textField.text;
            break;
        case 1:
            self.theNewPassword = textField.text;
            break;
        case 2:
            self.theTwiceNewPassword = textField.text;
            break;
        default:
            break;
    }
}






版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS 实时监听UITableViewCell中的UItextField的值的变化

项目中有一个需求:每一个UITableViewCell中有一个UItextField,当所有的UItextField输入完成后,点击保存按钮,上传信息。 在这个过程中,只要任意一个cell中的UIt...
  • David2427
  • David2427
  • 2017年06月12日 10:09
  • 1363

iOS中自定义输入文本框的cell(UITextFieldCell)的使用技巧

一:开篇介绍     1.在iOS项目开发中,容易遇到各种个人信息填写。比如微信中设置个人信息,等。这种方式是尽兴控制器跳转,代理或者block传值,这种比较容易,符合常规的cell的应用场景。请继续...
  • horisea
  • horisea
  • 2016年07月10日 20:38
  • 6215

第十二章:表视图常用UI范例——保存和恢复自定义的UITableViewCell中UITextField中输入的值

1.自定义UITableViewCell类 2.声明属性: //声明一个块 //返回值 块名称 块参数 @property (n...
  • eric_jing
  • eric_jing
  • 2014年01月01日 21:20
  • 2989

iOS 实时监听UITableViewCell中的UItextField的值的变化

项目中有一个需求:每一个UITableViewCell中有一个UItextField,当所有的UItextField输入完成后,点击保存按钮,上传信息。 在这个过程中,只要任意一个cell中的UIt...
  • David2427
  • David2427
  • 2017年06月12日 10:09
  • 1363

iOS中UITextField使用详解

(1) //初始化textfield并设置位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 2...
  • u010850094
  • u010850094
  • 2016年05月28日 17:48
  • 17066

UITextField常用属性、代理方法-使用详解+示例

*UITextField的使用,和UITextView的区别在于,前者限定只能显示一行文字,而后者能显示多行。示例代码: //创建一个文本框:限制显示一行文字--此处初始化(创建)一个文本框,定...
  • zwyJoey
  • zwyJoey
  • 2016年04月20日 08:43
  • 2058

iOS - UITextField代理方法详解(调用顺序)

UITextField 代理方法详解 今天通过自己的学习把textfield的代理方法全部罗列出来,先后调用顺序做了一下验证。 操作方法是,打开界面-->点击textField-->输入‘abc...
  • Coder_Han
  • Coder_Han
  • 2016年01月07日 14:58
  • 5097

iOS-监听UITextField值改变事件

在实际情况中我们有时候在界面输入时候需要让用户输入的数据与模型同步,那么可能我们就需要监听UITextField值改变事件,然后在响应的方法中将新的值同步到模型中。这次我们主要提出三种方案,其中第一种...
  • linyousong
  • linyousong
  • 2016年06月06日 22:00
  • 4960

iOS开发总结之UITextField常用属性和方法

UITextField属性 0.        enablesReturnKeyAutomatically 默认为No,如果设置为Yes,文本框中没有输入任何字符的话,右下角的返回按钮是disab...
  • sunnyboy9
  • sunnyboy9
  • 2016年04月28日 22:49
  • 6352

UITextField 光标的位置设置获取

转正:http://blog.csdn.net/reylen/article/details/17750523 UITextField 光标的位置设置获取 通过给U...
  • zhangjie1989
  • zhangjie1989
  • 2016年12月12日 20:46
  • 286
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:获取UITableViewCell中UITextField的值方法总结
举报原因:
原因补充:

(最多只允许输入30个字)