通过单击不同的单元格更改详细信息视图上的UITextfield

时间:2011-02-27 17:29:39

标签: objective-c xcode uitableview uitextfield

这是我到目前为止所做的:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.row)
    {
            // row 0 -> DetailViewController1 anzeigen...
        case 0:
        {
            TableViewController *fvController = [[TableViewController alloc] initWithNibName:@"TableViewController" bundle:[NSBundle mainBundle]];
            fvController.selectedCellItem = selectedCellItem;
            [self.navigationController pushViewController:fvController animated:YES];
            [fvController release];
            fvController = nil;         
        }
            break;
        default:
            break;
    }

所以我的问题是:如何通过选择单元格来更改detailView的UITextfield。感谢您的帮助到目前为止;)

1 个答案:

答案 0 :(得分:1)

是否要编辑单元格中UITextField中的文本?如果是这样,有几种方法可以做到这一点,我会触及其中两个。

首先,为什么不直接从tableView中编辑单元格?这需要你跟踪每个单元格的内容,但是如果你总是有一个带有UITextField的自定义单元格,那么你就到了一半。

如果要对常规单元格中的文本进行更改,则用户选择它并为其提供编辑屏幕,这样做要简单得多。您可以让tableView使用包含单元格文本的textField推送视图控制器。他们可以编辑此textField,然后按save。保存时,将视图从堆栈中弹出,将更改保存到数据模型,然后更新tableView。

我不确定你要做什么,但是在单元格中使用textField然后在详细信息屏幕中进行编辑似乎是多余的。

如果您向我们提供更多信息,我相信我们可以提供帮助。

根据您的澄清更新

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    switch (indexPath.row)
    {
            // row 0 -> DetailViewController1 anzeigen...
        case 0:
        {
            ViewControllerName *vController = [[UIViewController alloc] initWithNibName:@"ViewControllerName" bundle:[NSBundle mainBundle]];
            vController.textField.text = //set the text here from the data source. Assuming textField is an property of vController. 
            [self.navigationController pushViewController:vController animated:YES];
            [vController release];
        }
            break;
        default:
            break;
    }