在此屏幕截图中,您可以看到我在UIViewController中添加了UITableView,然后通过在其中添加一些标签来自定义UITableViewCell。但问题是我运行应用程序时。所有细胞都是空的。根本没有标签。
我没有得到可能的问题。我搜索了网页并阅读了教程,但无法解决。
答案 0 :(得分:4)
我自己解决了这个问题,只需要很少的努力 实际上,当您创建自定义单元格时,您必须执行以下操作:
现在,在要实现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;
}
我做了这一切,我的问题得到了解决,请不要忘记连接代表和&数据源和表。
希望这会对别人有所帮助。
答案 1 :(得分:1)
有点迟,但您可以通过在故事板中将视图的背景颜色设置为“清除颜色”来解决您的问题。
答案 2 :(得分:0)
在tableview的委托方法中,cellforrowatindexpath里面有一个uitableviewcell,在这个单元格的初始化中应该有一个标识符。可能是“cell”或“cellIdentifier”。
您只需从故事板中选择您的单元格,然后在故事板中输入此标识符字符串,其中uitableviewcell的属性检查器将保留。
希望这有助于.. :))
答案 3 :(得分:0)
首先在故事板中设置单元格标识符@“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;
}