0

我有这个代码,当按下一个单元格时,它会推送到一个新视图。这个新视图会根据按下的单元格的名称更改其标题。但是,所有单元格的视图都是相同的,如果我在一个单元格下更改某些内容,它会更改每个其他单元格的视图。我该如何做到这一点,以便每个单元格的每个视图都不同,而不会创建大量视图;这是不切实际的。谢谢你。

推送代码:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
[self.tableView deselectRowAtIndexPath:indexPath animated:YES];

ACollection *newView = [[ACollection alloc] init];
newView.template = [[Global collections] objectAtIndex:indexPath.row];

newView.theTitle = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;
[self.navigationController pushViewController:newView animated:YES];
}
4

2 回答 2

1

theTitle 似乎是您在单元格选择时设置的局部变量。但是,导航控制器在导航项中设置视图控制器的标题。因此,您可以设置 AVCollections 标题,如 tis:

newView.navigationItem.title = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;

在细胞选择过程中。

于 2012-11-26T09:20:53.140 回答
0

好吧,现在考虑我们在数组中有字符串。(数组项的数量等于单元格的数量。或者我们可以说您正在从数组中加载详细信息。)。

首先,在didSelectRowAtIndexPath:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {    
         // Here we got the name of the item we are currently going to load
         NSString *item_Name   =   [contentArray objectAtIndex: indexPath.row];
         ViewController *yourViewController   =  [[ViewController alloc] initWithNIBName: @"ViewController" bundle: nil];
         yourViewController.navigationItem.title  =  item_Name;
         [self.navigationController pushViewController: yourViewController animated: YES];
} 

或者像 lukya 说的你可以使用

NSString *item_Name   =   [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;

如果您要将单元格本身的标题标签设置为详细视图的标题。

希望这可以帮助。

于 2012-11-26T09:45:56.587 回答