在UITableView中切换UITextField单元格

时间:2012-10-30 08:39:23

标签: iphone objective-c xcode cocoa-touch uitableview

非常初学的对象问题。

我已将TableView分为两个部分http://uaimage.com/image/c6c9ca23。在第一部分中,我有自定义单元格,其中包含UITextField个。我需要实现输入附件视图对于键盘,其他按钮“下一步”,“上一页”(在第一部分中切换文本字段)和“完成”(以解除键盘)http://uaimage.com/image/62f08045

问题是:我需要通过点击输入附件按钮来实现在TableView第一部分的单元格中的文本字段之间切换的可能性? 我是否需要标记单元格或文本字段?如果是这样,当用户点击输入附件按钮时,如何检索其值?或者这是一个更好的方法吗?

谢谢,Alex

1 个答案:

答案 0 :(得分:1)

我假设你说你有3个UITextField即txt,txt1,txt 2 tags 0 1和2;现在在.h文件中添加UITableViewCell *cell

编辑: 现在从当前tableView单元格中获取所有textField的引用,添加此委托方法:

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
    cell = nil;
    cell = (UITableViewCell *)[textField superView];
    return YES;
}

现在输入附件上一级按钮操作执行此操作:

-(IBAction)previousBtn:(id)sender
{
   UITextField *txt = (UITextField*)[cell viewWithTag:0];
   UITextField *txt1 = (UITextField*)[cell viewWithTag:1];
   UITextField *txt2 = (UITextField*)[cell viewWithTag:2];
   if(txt.isFirstResponder)
   {
    [txt resignFirstResponder];
    [txt2 becomeFirstResponder];
   }
   else if(txt1.isFirstResponder)
   {
    [txt1 resignFirstResponder];
    [txt becomeFirstResponder];
   }
   else if(txt2.isFirstResponder)
   {
    [txt2 resignFirstResponder];
    [txt1 becomeFirstResponder];
   }
}

现在在输入附件中,下一步按钮操作执行此操作:

-(IBAction)nextBtn:(id)sender
{
   UITextField *txt = (UITextField*)[cell viewWithTag:0];
   UITextField *txt1 = (UITextField*)[cell viewWithTag:1];
   UITextField *txt2 = (UITextField*)[cell viewWithTag:2];

   if(txt.isFirstResponder)
   {
    [txt resignFirstResponder];
    [txt1 becomeFirstResponder];
   }
   else if(txt1.isFirstResponder)
   {
    [txt1 resignFirstResponder];
    [txt2 becomeFirstResponder];
   }
   else if(txt2.isFirstResponder)
   {
    [txt2 resignFirstResponder];
    [txt becomeFirstResponder];
   }
}