在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本
Posted
技术标签:
【中文标题】在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本【英文标题】:in didselect row my first row returnig label text instead of my custom label text 【发布时间】:2014-12-17 08:10:09 【问题描述】:这里我有一个表格视图,我在其中添加了存储一些自定义标签 来自数组的测验 id 其中 cell.textlabel.text 存储数组中的测验名称
问题: 当我在 didselectRowAtIndexPath 中选择第一行时 它返回 cell.textlabel.tex 但对于第二行,它返回正确的值,即 测验ID
这里是代码
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
static NSString *CellIdentifier = @"CellId";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil)
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
cell.textLabel.text = [quizname objectAtIndex:indexPath.row];
UILabel *lbl = [[UILabel alloc]init];
lbl.tag=indexPath.row;
[cell addSubview:lbl];
lbl.text = [quizIds objectAtIndex:indexPath.row];
return cell;
在选择行中
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
UILabel *label = (UILabel *) [cell viewWithTag:indexPath.row];
NSString *qid =label.text;
NSLog(@"%@",qid);
我得到的 quid 等于第一行的 cell.texlabel.text 但在其他行中不等于 他们正在完美地获得测验ID
任何对我最有价值的帮助
【问题讨论】:
【参考方案1】:尝试使用 customTableViewCell 并在 customCell 中添加您的标签。在 cellForRowAtIndexPath 中添加 UILabel 不是一个好方法。
【讨论】:
不错的答案,但 cellforRowatIndexpath 中的错误是什么 使用断点并检查 cellForRowAtIndexPath。添加条件,如。 if (indexPath == 0) cell.textLabel.text = [yourArray objectAtIndex: 0]; elsecell.textLabel.text = [yourArray objectAtIndex:1]。并在 didSelectRowAtIndexPath 中使用断点并检查它是否抛出正确的值。 您在选择行后遇到问题?以上是关于在 didselect 行中我的第一行返回标签文本而不是我的自定义标签文本的主要内容,如果未能解决你的问题,请参考以下文章