我有一个非自定义表视图视图,我的意思是我正在使用cellForRowAtIndexPath。我希望我的单元格有2个标签,一个用于标题,另一个用于日期。我试图使用不起作用的代码:
CGRect myImageRect = CGRectMake(0.0f, 0.0f, 320.0f, 109.0f);
UIView* view = cell.contentView;
UILabel* labelTitle = [[UILabel alloc] initWithFrame:myImageRect];
UILabel* labelDate = [[UILabel alloc] initWithFrame:myImageRect];
[cell addSubview:labelTitle];
[cell addSubview:labelDate];
cell.labelDate.text = @"title";
cell.labelTitle.text = @"date";
我收到错误消息:Property 'labelDate' not found on object of type 'UITableViewCell *'
所以看起来这个单元格无法识别我的标签。可以用某种方式完成吗?
提前致谢。
答案 0 :(得分:1)
您必须使用表视图委托方法;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
NSString *detailField_Name = [[NSString alloc] init];
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:CellIdentifier] autorelease];
}
cell.textLabel.text = @"title";
cell.detailTextLabel.text = @"date";
return cell;
}
答案 1 :(得分:0)
尝试
[cell.contentView addSubview:title];
答案 2 :(得分:0)
Here是Apple如何制作一些自定义单元格的好例子。
答案 3 :(得分:0)
使用
[cell.contentView addSubview:title];
而不是
[cell addSubview:labelTitle];
和
labelDate.text = @“title”;
而不是
cell.labelDate.text = @“title”;
答案 4 :(得分:0)
您可以通过以下方式添加多个标签:
UILabel * lblTaskTitle = [[UILabel alloc] initWithFrame:CGRectMake(45.0,5,100.0,35.0)];
[lblTaskTitle setFont:[UIFont fontWithName:@"Helvetica" size:16.0]];
[lblTaskTitle setTextColor:[UIColor whiteColor]];
[lblTaskTitle setBackgroundColor:[UIColor clearColor]];
lblTaskTitle.text = oTaskType.taskTypeTitle;
[cell addSubview:lblTaskTitle];
UILabel * lblTaskDetail = [[UILabel alloc] initWithFrame:CGRectMake(45.0,5,140.0,35.0)];
[lblTaskDetail setFont:[UIFont fontWithName:@"Helvetica" size:16.0]];
[lblTaskDetail setTextColor:[UIColor whiteColor]];
[lblTaskDetail setBackgroundColor:[UIColor clearColor]];
lblTaskDetail.text = oTaskType.taskTypeTitle;
[cell addSubview:lblTaskDetail];
如有任何困难,请告诉我。