我有一个带有CustomCell的UITableView。自定义单元格包含一个UILabel和一个UIImageView。
我在网上看到,当用户按下单元格时,可以从普通的UITableView单元格中获取文本并将其存储在字符串中。
但是,当您使用自定义单元格时,如何做到这一点?因为我的UILabel的名称是"type_label",并且它已经在我的CustomCell XIB的头文件中定义。
所以在Xcode中我不能使用:
cell.type_label.text"
在以下功能中:
-(void)tableView:(UITableView *) tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
谢谢,丹。
在表ViewDidSelectRow中,您只需要执行以下操作:
UITableViewCellCustomClass *customCell = (UITableViewVellCustomClass*)[tableView cellForRowAtIndexPath:indexPath];
NSString *labelText = [[customCell type_label] text];
这应该会让你想要你需要的。
尝试以下代码-您已经在CCustomCellClass中创建了type_label标签的IBOutlet
(文件-->新-->子类-->UITableViewCell-->将其命名为CustomCellClass)
然后执行以下代码
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath: (NSIndexPath *)indexPath{
static NSString *cellIdentifier = @"Cell";
static BOOL nibsRegistered = NO;
if (!nibsRegistered) {
UINib *nib = [UINib nibWithNibName:@"CustomCellClass" bundle:nil];
[tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
}
CustomCellClass *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
if (cell == nil) {
cell = [[CustomCellClass alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
}
cell.type_label.text = @"Rocky"; // setting custom cell label
return cell;
}