更改颜色选择 - TableView / SplitView

时间:2012-06-25 06:23:03

标签: iphone objective-c ios xcode ipad

我有一个UITableView用于我的SplitView应用程序的MasterView。

在选择任何行时,该行的颜色变为蓝色。我想把它改成黑色或深灰色。我怎样才能做到这一点?

感谢。

3 个答案:

答案 0 :(得分:2)

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

static NSString *CellIdentifier = @"CellIdentifier";
UITableViewCell *tableCell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

if (tableCell == nil) {
    tableCell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease] ;   

[tableCell setSelectionStyle:UITableViewCellSelectionStyleGray]; 
   }
 }

或者您也可以在cellForRowAtIndexPath

上试试
if (indexPath.row == selectedIndex) 
{ 
    Cell.LblDynamicCell.textColor=[UIColor whiteColor];
    Cell.LblBackView.backgroundColor=[UIColor Black];
}
//LblDynamicCell,LblBackView objects  declare in cellViewController class

 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
  selectedIndex = indexPath.row;
  [self.ResultTbl reloadData];

 }

答案 1 :(得分:2)

以下枚举是为选择样式定义的 -

typedef enum {
    UITableViewCellSelectionStyleNone,
    UITableViewCellSelectionStyleBlue,
    UITableViewCellSelectionStyleGray
} UITableViewCellSelectionStyle;

为了您的目的,您可以使用 - UITableViewCellSelectionStyleGray

答案 2 :(得分:0)

您可以按如下方式更改所选单元格的颜色:

- (void)setSelected:(BOOL)selected animated:(BOOL)animated

    {
        [super setSelected:selected animated:animated];

        UIImageView *theImageView = [[UIImageView alloc] initWithImage:[UIImage imageName:@"table_selected_cell.png"]];
        self.selectedBackgroundView = theImageView;
        [theImageView release];
    }

更改您选择的颜色,其中table_selected_cell.png是您的颜色的2px图像。