我在tableview中使用graycolor作为backgroundview,在tableviewcell中使用whitecolor作为背景,我想让所有包含文本的单元格都有白色背景,但我不能这样做。 这是我的代码
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
UIView* backgroundView = [ [ [ UIView alloc ] initWithFrame:CGRectZero ] autorelease ];
//--new color code--
backgroundView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"celltable_root.png"]];
cell.backgroundView = backgroundView;
for ( UIView* view in cell.contentView.subviews )
{
if(_segmentedControl.selectedSegmentIndex == 0){
FileModel *filemodels = [_filemodels objectAtIndex:indexPath.row];
if([filemodels.fileExpanse compare:@"display"]==0){
backgroundView.backgroundColor = [UIColor whiteColor];
}else{
backgroundView.backgroundColor = [UIColor whiteColor];
}
}
view.backgroundColor = [ UIColor clearColor]; //set cell background
}
[[self tableView] setBackgroundColor:[UIColor grayColor]];
}
我的代码中有什么问题吗?
答案 0 :(得分:0)
结帐this article on cocoa with love。我认为它涵盖了你所询问的内容。
答案 1 :(得分:0)
我已经阅读了Derek给我的链接,我找到了一个可以使用的代码。我决定将图像用于细胞背景和表格背景。 这是我回答这个问题的代码
-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
if(_segmentedControl.selectedSegmentIndex == 0){
FileModel *filemodels = [_filemodels objectAtIndex:indexPath.row];
if([filemodels.fileExpanse compare:@"display"]==0){
((UIImageView *)cell.backgroundView).image = [UIImage imageNamed:@"whiteColor.png"];
}else{
((UIImageView *)cell.backgroundView).image = [UIImage imageNamed:@"whiteColor.png"];
}
}
[[self tableView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"grayColor.png"]]]; //tableview background using image
}
我加了
[[self tableView] setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"grayColor.png"]]]; //tableview background using image
进入viewDidLoad方法,最后......这个问题解决了。大家好...... (N_N)