这是我的代码:
@implementation NViewController{
NSArray *recipes;
}
- (void)viewDidLoad
{
[super viewDidLoad];
recipes = [NSArray arrayWithObjects:@"Egg Benedict", @"Mushroom Risotto", @"Full Breakfast", nil];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [recipes count];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"RecipeCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.textLabel.text = [recipes objectAtIndex:indexPath.row];
return cell;
}
@end
我在原型tableviewcell中向内容视图添加标签但无法访问它(txtname)。 请给我一个解决方案
答案 0 :(得分:4)
您可以在返回单元格之前在storyboard和cellForRowAtIndexPath:方法中为标签设置标记(例如100),您可以通过标记
获取对该标签的引用UILabel *taggedLabel =(UILabel*) [cell.contentView viewWithTag:100];
taggedLabel.text = [recipes objectAtIndex:indexPath.row];
答案 1 :(得分:3)
当您向原型单元格添加标签并希望通过代码访问该标签时,您还需要执行以下操作:
UITableViewCell
IBOutlet
属性txtname
UITableViewCell
最后一步更改代码如下:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *simpleTableIdentifier = @"RecipeCell";
MyCustomTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
if (cell == nil) {
cell = [[MyCustomTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:simpleTableIdentifier];
}
cell.txtname.text = [recipes objectAtIndex:indexPath.row];
return cell;
}