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

Posted

技术标签:

【中文标题】通过单击不同的单元格来更改详细视图上的 UITextfield【英文标题】:Change UITextfield on a detailview by clicking on different Cells 【发布时间】:2011-02-27 17:29:39 【问题描述】:

这是我目前所拥有的:

- (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】:

您想在单元格中编辑 UITextField 中的文本吗?如果是这样,有几种方法可以做到这一点,我将介绍其中的两种。

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

如果您想更改常规单元格中的文本,然后用户选择它并给他们一个编辑屏幕,这要简单得多。您可以让您的 tableView 推送一个带有 textField 的视图控制器,其中包含来自您的单元格的文本。他们可以编辑此文本字段,然后按保存。当他们保存时,将视图从堆栈中弹出,保存对数据模型的更改,并更新 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;
    

【讨论】:

抱歉不够详细。我有一个加载 UITableView 的 uinavigationcontroller 的 UITabbarController。所以现在,如果用户选择了一行,我想显示一个 DetailView。到现在为止还挺好。但现在有趣的部分开始了。在我的 DetailView(一个简单的 UIView)中,我有一个 UITextfield,我想根据用户选择的行显示一些文本。 //够清楚吗? 我更新了我的帖子。这能解决你的问题吗?如果没有,请告诉我,我会进一步澄清。 @W Dyson 是的,是的;)感谢您的时间和帮助。

以上是关于通过单击不同的单元格来更改详细视图上的 UITextfield的主要内容,如果未能解决你的问题,请参考以下文章

使用单击子视图中的表格单元格来填充视图中的字段

如何根据 UICollectionView 中有多少单元格来更改视图的大小

如何将segue从表格视图中的单元格单击推送到另一个视图控制器[重复]

如何制作多个表格视图单元格来引导相应的视图控制器?

如何通过仅选择表正下方行中的任何单元格来触发宏(ListObject)

如何通过单击更改集合视图单元格中的标签颜色