在此屏幕截图中,您可以看到我在 UIViewController 中添加了 UITableView,然后通过在其中添加一些标签来自定义 UITableViewCell。但问题是当我运行应用程序时。所有单元格都是空的。根本没有标签。
我不明白可能是什么问题。我已经在网上搜索并阅读了教程,但无法解决。
在此屏幕截图中,您可以看到我在 UIViewController 中添加了 UITableView,然后通过在其中添加一些标签来自定义 UITableViewCell。但问题是当我运行应用程序时。所有单元格都是空的。根本没有标签。
我不明白可能是什么问题。我已经在网上搜索并阅读了教程,但无法解决。
经过一番努力,我自己解决了这个问题。
实际上,当您创建自定义单元格时,您必须执行以下操作:
现在在您实现 UITableView 的类中导入 CustomCell 类,并使用您在 CustomCell 类中定义的属性。
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *MyIdentifier = @"MyCustomCell";
CustomCell*cell = [tableView dequeueReusableCellWithIdentifier:MyIdentifier];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:MyIdentifier] autorelease];
}
// Here we use the provided setImageWithURL: method to load the web image
// Ensure you use a placeholder image otherwise cells will be initialized with no image
[cell.imageView setImageWithURL:[NSURL URLWithString:@"http://example.com/image.jpg"]
placeholderImage:[UIImage imageNamed:@"placeholder"]];
cell.myCustomLabel.text = @"My Text";
return cell;
}
我做了这一切,我的问题得到了解决,请不要忘记连接代表和数据源和表格。
希望这对其他人有帮助。
有点晚了,但是您可以通过将视图的背景颜色设置为情节提要中的“清除颜色”来解决您的问题。
在tableview的delegate方法中,cellforrowatindexpath里面有一个uitableviewcell,在这个cell的初始化中应该有一个标识符。可能是 "cell" 或 "cellIdentifier" 。
您只需要从情节提要中选择您的单元格,然后将此标识符字符串输入到情节提要中,其中 uitableviewcell 的属性检查器所在的位置。
希望这可以帮助.. :)
首先在情节提要@“Cell”中设置单元格标识符
然后设置标签的标签
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// Create
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] ;
}
UILabel *lblDate = (UILabel*)[cell viewWithTag:101];
UILabel *lblDistance = (UILabel*)[cell viewWithTag:102];
UILabel *lbltype = (UILabel*)[cell viewWithTag:103];
lblDate.text = [temp objectAtIndex:indexPath.row] valueForKey:@"date"] stringByReplacingOccurrencesOfString:@"-" withString:@"/"]];
lblDistance.text = [NSString stringWithFormat:@"%@ KM",[[temp objectAtIndex:indexPath.row] valueForKey:@"distance"]];
NSString *type = [NSString stringWithFormat:@"%@",[[temp objectAtIndex:indexPath.row] valueForKey:@"distance"]];
if([type isEqualToString:@"0"])
{
lbltype.text = @"Personal";
}
else
{
lbltype.text = @"Bussiness";
}
// Configure
return cell;
}