问题很简单,但很烦人。我在视图控制器中放置了一个groupe样式的UITableView,并使控制器成为表视图的委托和数据源。
当我改变表格背景的颜色时,我使用:
UIColor *backColor = [UIColor colorWithRed:(15.0 / 255.0) green:(170.0 / 255.0) blue:(230.0 / 255.0) alpha: 0.75f];
[self.myTable setBackgroundColor:backColor];
并且在tableView:tableView cellForRowAtIndexPath:indexPath
方法中,我只返回一个简单的单元格:
static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:moreCellIdentifier] autorelease];
}
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
但奇怪的是,在每个单元格的圆角处,颜色不正确,我认为这是因为单元格的一个子视图的框架比单元格大,我试图制作框架子视图很小但仍然失败。任何想法?谢谢。
答案 0 :(得分:0)
尝试在tableView:tableView cellForRowAtIndexPath:indexPath
功能中使用以下代码。
NSString *CellIdentifier = [[NSString alloc] initWithFormat:@"CellIdentifier_%d_%d",indexPath.section,indexPath.row];
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil){
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
reuseIdentifier:moreCellIdentifier] autorelease];
}
[CellIdentifier release];
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
return cell;
答案 1 :(得分:0)
看看你的代码,我不清楚这一行是什么:
[self.myTable setBackgroundColor:backColor];
指的是。什么是myTable?什么是自我?
无论如何,如果你使用UITableViewController
管理你的桌子,你应该改变这样的背景颜色:
UIColor *backColor = [UIColor colorWithRed:(15.0 / 255.0) green:(170.0 / 255.0) blue:(230.0 / 255.0) alpha: 0.75f];
tableViewController.tableView.backgroundColor = backColor;
如果你继承UITableViewController
,那么执行该代码的最佳位置是viewWillAppear
(使用self而不是tableViewController.tableView.backgroundColor)。