1

我使用 willDisplayCell 委托方法向 UITableViewCell 显示自定义背景图像。

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

    static UIImage* bgImage = nil;
    if (bgImage == nil) {
        bgImage = [UIImage imageNamed:@"myImage.png"];
    }
    cell.backgroundView = [[UIImageView alloc] initWithImage:bgImage];
}

当我在模拟器中运行应用程序时,仅更改了绘制单元格的背景,有没有办法更改所有单元格的背景?

4

2 回答 2

3

我已经使用了这个代码。它运行良好。你可以试试这个代码。

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
    }
    cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:@"Cell"] autorelease];



        UIImageView *cellBackView=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 320, 100)];
        cellBackView.backgroundColor=[UIColor clearColor];


            cellBackView.image = [UIImage imageNamed:@"list.png"];



        cell.backgroundView = cellBackView;
        cell.selectionStyle=UITableViewCellSelectionStyleNone;




    return cell;



}
于 2013-01-26T11:19:11.613 回答
0

cellForRowAtIndexPath您必须在创建单元格的方法中设置 backgroundView 属性:

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

   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];

   if (!cell)
   {
       cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
   }

   cell.backgroundView = [[UIImageView alloc] initWithImage:...];

   return cell;
}
于 2013-01-26T11:00:46.120 回答