我有多个显示不同项目的表格视图。虽然每个单元格的详细视图应具有相同的布局。我想为每个表的所有单元格使用相同的详细信息视图,而不必为每个表实现不同的详细视图类,因为它几乎是相同的代码。我该怎么做?
以下方法位于其中一个表视图中。这将显示选择单元格时的详细信息视图:
-(void)tableView:(UITableView *)tv didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"didSelectRowAtIndexPath");
AppDelegate *delegate =
(AppDelegate *)[[UIApplication sharedApplication] delegate];
Detail *detail=
[[Detail alloc] initWithIndexPath:indexPath];
[delegate.navController pushViewController:detail animated:YES];
[tv deselectRowAtIndexPath:indexPath animated:YES];
}
以下是Detail视图类中的viewDidLoad方法:
- (void)viewDidLoad
{
[super viewDidLoad];
AppDelegate *delegate =
(AppDelegate *)[[UIApplication sharedApplication] delegate];
PokemonInfo *thisPokemon = [delegate.allArray objectAtIndex:index.row];
self.title = thisPokemon.name;
nameView.text = thisPokemon.name;
typeView.text = thisPokemon.type;
attackView.text = thisPokemon.attack;
attackView.editable = NO;
}
答案 0 :(得分:0)
创建视图并将其放在笔尖中。在视图中为每个元素指定唯一标记。当您需要使用nib(UINib)实例化视图时,如果要使用" viewWithTag"来填充它,请访问每个元素。假设您正在回收单元格,则始终使用适当的数据设置任意视图元素。
如上所述,更传统的方法是在nib中实例化一个单元格,然后执行相同的操作 - 您要访问的每个元素都有一个唯一的标记。