我有这个代码,当按下一个单元格时,它会推送到一个新视图。此新视图根据按下的单元格的名称更改其标题。但是,所有单元格的视图都是相同的,如果我在一个单元格下更改某些内容,则会更改每个其他单元格的视图。我怎么能这样做,所以每个单元格的每个视图都不同,而不会创建大量的视图;这是不切实际的。谢谢。
推送代码:
-(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];
}
答案 0 :(得分:1)
theTitle似乎是您在细胞选择上设置的局部变量。 但是,导航控制器在导航项中设置视图控制器的标题。 因此,您可以设置AVCollections标题,如tis:
newView.navigationItem.title = [self.tableView cellForRowAtIndexPath:indexPath].textLabel.text;
在细胞选择期间。
答案 1 :(得分: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;
如果要将单元格的标题标签设置为详细视图的标题。
希望这有帮助。