1

我正在尝试将自定义背景视图分配给 UITableViewCell。该表已分组。

我有点像开拓者,所以我尝试使用 300 像素宽的图像,而不是使用背景视图的典型宽度 302 像素。

这是我的代码:

- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath {
    // a 300 pixel wide image
    UIImage *backgroundImage = [UIImage imageNamed:@"tableViewCellBackgroundTop"];
    UIImageView *theBackgroundView = [[UIImageView alloc] initWithImage:backgroundImage];
    theBackgroundView.frame = CGRectMake(10, 0, 300, 49);
    cell.backgroundView = theBackgroundView;
}

如果我在模拟器中运行它并使用 xScope 进行测量,则单元格仍然看起来是 302 像素宽。是什么赋予了?是否需要设置一些其他属性以使框架尊重我分配给背景视图的框架,或者表格视图单元格不打算以这种方式自定义?

4

1 回答 1

3

您可以创建一个UIView实例并为其创建theBackgroundView一个子视图,然后设置cell.backgroundView为创建的视图:

UIView *view = [[UIView alloc] initWithFrame:CGRectMake(10, 0, 300, 49)];
[view addSubview:theBackgroundView];
cell.backgroundView = view;
于 2012-08-14T21:19:04.450 回答