如何在分组的UITableView单元格上使用自定义背景?

时间:2012-03-01 08:26:56

标签: iphone objective-c uitableview user-interface

我正在尝试为分组UITableView的行设置自定义背景,我完全不知道如何实现这一点。

我试图在桌面上应用的表格设计如下所示:

Custom Designed Grouped UITableView

我已将其切成3种细胞类型:顶部中间底部。如何为每个表格的单元格应用自定义背景?

6 个答案:

答案 0 :(得分:6)

您可以为功能中的第一个,中间和最后一个单元格设置UIImageView作为单元格backgroundView

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell  forRowAtIndexPath:(NSIndexPath *)indexPath

检查以下的好(和简单)示例: http://www.planet1107.net/blog/tips-tutorials/custom-grouped-cell-tutorial/

答案 1 :(得分:4)

cellForRowAtIndexPath中,检查当前行的类型,然后为其指定相应的背景。

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    //  Create cell
    //  ...

    //  Configure cell

    switch (cellType)  {
       case TOP:
           cell.backgroundView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"top.png"]];  
           break;
       case MIDDLE:
           ...
    }
}

答案 2 :(得分:3)

Ray Wenderlich有一个关于如何使用Core Graphics执行此操作的非常好的教程:http://www.raywenderlich.com/2033/core-graphics-101-lines-rectangles-and-gradients

答案 3 :(得分:1)

本教程将为您提供您正在寻找的内容。

http://cocoawithlove.com/2009/04/easy-custom-uitableview-drawing.html

答案 4 :(得分:0)

UITableViewCell有一个属性backgroundView。在tableView中设置此值:cellForRowAtIndexPath:-method。

https://developer.apple.com/library/ios/#documentation/uikit/reference/UITableViewCell_Class/Reference/Reference.html

答案 5 :(得分:0)

不是为每个图像分配单独的图像,而是创建一个自定义单元格并按照单元格在上面指定背景图像。除了内部单元格之外的图像上方的裁剪将一个分配给UITableView的背景视图(普通表视图),即您不需要创建分组表格视图。