IOS UITableViewCell Spacer(或边距)

时间:2012-07-11 10:48:10

标签: objective-c ios xcode uitableview

我正在尝试在表视图控制器上的表自定义视图单元格之间获取空格。例如,对于创建的每个单元格,它是逐个堆叠的,没有边距。例如,在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];

3 个答案:

答案 0 :(得分:1)

检查我的answer是否有类似的问题,它建议你在要用一些空格划分的单元格之间创建不可见的单元格。

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

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

答案 1 :(得分:0)

如果你的tableView的rowHeight是50分,那么让你的背景图像视图高度为40点,并将其置于单元格中心。然后制作单元格背景颜色[UIcolor clearColor]

答案 2 :(得分:0)

Okayy我做了一些像这样的事情......

首先,将持有Tableview的BGColor Of视图设置为White(这是我个人选择的设计)然后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;


}

好的首先,formost忽略了数据库代码。 现在我做的是我在每个Cell名称上创建一个View cellView(根据你的要求设置高度)接下来我有了一个Image View并设置了合适的图像(再次,它可能不是你想做的事情) )但要注意CGRectMake我根据我希望bw我的细胞的差距数量值...其余的是通常的。

这是我在我的应用See What i meant....???

中的视图图像

让我知道它是否有效 干杯 w ^