【问题标题】:change labels in a view using a tableview使用 tableview 更改视图中的标签
【发布时间】:2012-10-11 03:29:13
【问题描述】:

请先看看这个screenshot。我想要做的是当我单击右侧小表格视图中的一个单元格时。然后标签应该更改为其他一些数据。我正在为我的数据源和委托使用自定义控制器。我在 viewDidLoad 中设置控制器。

- (void)viewDidLoad
{
    
    tabelPlayers=[[tblPlayersDataSourceDelegate alloc]init];
    tblPlayers.dataSource=tabelPlayers;
    tblPlayers.delegate=tabelPlayers;
    [tabelPlayers setTableSource:_playersArray];
}

在这个 tblPlayersDataSourceDelegate 中,我为我的 didSelectCellAtIndexPath 执行此操作

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
  Team *player = [_tableSource objectAtIndex:indexPath.row];
    PlayerDetailController *detail = [[PlayerDetailController alloc]init];
    [detail setStrNaam:player.name];
    [detail reloadInputViews];
}

但它不会改变任何东西。有人可以帮我吗?

提前致谢

【问题讨论】:

    标签: objective-c ios delegates datasource tableview


    【解决方案1】:

    如果我正确理解您的问题,那么您要做的是根据右侧小表格视图中选择的玩家更改左侧标签上的信息。

    我不完全理解您的代码,但作为一个通用结构,为了达到您所描述的相同结果,我会做的是:

    1. 创建一个包含“Items”(内部 NSDictionary 的)的 NSDictionary(可以在 *.plist 文件中)。
    2. 每个“项目”都包含键(玩家年龄、玩家编号等)。

    右侧的小表将使用另一个 NSArray,该 NSArray 将从主 NSArray 键构造:

    NamesArray = [mainPlayersDictionary allKeys];
    

    每当在您的小表格视图中选择一行时,您只需根据主 NSDictionary 中的键加载所有标签:

    [ageLabel setText: [[mainPlayersDictionary objectAtIndex:selectedRowIndex] objectForKey:plAge];
    [pNumLable setText:[[mainPlayersDictionary objectAtIndex:selectedRowIndex] objectForKey:pNum];
    

    还有你的套装。希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多