2

我试图在我的表格视图控制器上的表格自定义视图单元格之间留出一个空间。例如,对于创建的每个单元格,它都会一个一个地堆叠起来,并且没有边距。例如,在 facebook iPhone 应用程序上,我想创建的每个单元格后面都有一个间隔,有什么想法吗?


编辑:来自下面的评论

代码看起来像这样

MSRSalesCompanyCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; 
cell.backgroundView = [[CustomCellBackground alloc] init]; 
NSDictionary *company = [companies objectAtIndex:[indexPath row]]; 
cell.companyName.text = [company objectForKey:@"Name"]; 
cell.backgroundColor = [UIColor clearColor]; 
cell.backgroundView.bounds = CGRectMake(0, 0, 320, 55); 
[self loadImageAsync:cell withImageUrl:imageURL];
4

3 回答 3

1

检查我对类似问题的回答,它建议您在要分割的单元格之间创建不可见的单元格,并留有一些空间。

选项 2 是仅创建可见单元格,使其高度高于可见区域并准备特殊视图contentselected视图,请注意创建所选视图并不容易,您需要这样做,因为您可能不想要间距区域被选中,所以当需要获得一些单元格的间距时,我使用第一个选项。

第一个选项的主要(可能也是唯一)缺点是您必须以特殊方式处理单元格的索引以区分间距单元格和可见单元格。

于 2012-07-11T11:47:55.603 回答
0

如果您的 tableView 的 rowHeight 为 50 点,则将背景图像视图高度设为 40 点,并将其置于单元格中。然后让你的单元格背景颜色[UIcolor clearColor]

于 2012-07-11T11:09:38.157 回答
0

好吧,我做了这样的事情......

首先,将保存 Tableview 的 BGColor Of 视图设置为白色(这是我设计的个人选择),然后该cellForRowAtIndexPath方法看起来像这样。

- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @"Cell";
    UITableViewCell *cell;
    cell = nil;

    //Create Cell
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];    
    }

    //Retrive Values From DB
    DBTable_Description *dbObject = [[DBTable_Description alloc]init];
    dbObject = [contentList objectAtIndex:[indexPath row]];
    //Cell View
    UIView *cellView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 65)];
    //ImageView
    UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(4.0, 8.0, 300.0, 58.0)];
    imageView.userInteractionEnabled = NO;
    imageView.image = imgForCellBkg;
    //Label
    UILabel *lblFor = [[UILabel alloc]initWithFrame:CGRectMake(70, 25, 200, 21)];
    lblFor.text =dbObject.field1;
    lblFor.backgroundColor = [UIColor clearColor];
    lblFor.font = [UIFont fontWithName:@"Helvetica Neue" size:16];
    lblFor.textColor = [UIColor grayColor];
    lblFor.shadowColor = [UIColor grayColor];

    //Adding Views to Cell View
    [cellView addSubview:imageView];
    [cellView addSubview:lblFor];

    [cell.contentView addSubview:cellView];



    cell.selectionStyle = NO;
    return cell;


}

好的首先忽略数据库代码。现在我所做的是我在每个单元格名称上创建了一个视图cellView(根据你的要求设置高度)接下来我有一个图像视图并设置了适当的图像(同样它可能不是你想要做的事情)但要注意CGRectMake 我根据我想要 bw 我的单元格的间隙量来设置值.. 其余的是通常的。

这是我在我的应用程序中的视图图像明白我的意思....???

让我知道它是否有效 干杯 W

于 2012-07-11T12:00:08.807 回答