0

カスタム UITableView を設定するカスタム セル (5 つのラベルを持つ) があります。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    //--> Need to get content of each label within the custom cell
}

助けてくれてありがとう!

4

1 に答える 1

1

さまざまな方法で行うことができます

最良の方法はタグを使用することです

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];

  //get the labels using Tag from cell
  UILabel *label = ([[cell.contentView viewWithTag:yourTag] isKindOfClass:[UILabel class]])?(UILabel *)[cell.contentView viewWithTag:yourTag]:nil;


}

2 番目の方法は、サブビュー ループを使用しています。

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
   UITableViewCell * cell = [tableView cellForRowAtIndexPath:indexPath];

  for(id subView in [cell.contentView subView])
  {

     if([subViews isKindOfClass:[UILabel class]])
     {
       UILabel *label = (UILabel *)subViews;
     }
 }

}

カスタム Cell クラスの例:

UILabel *myLabel = [[UILabel alloc] init]
myLabel.tag = 1;
[self.contentView addSubView:myLabel];
于 2013-03-13T02:50:35.060 に答える