//無色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //藍色 cell.selectionStyle = UITableViewCellSelectionStyleBlue; //灰色 cell.selectionStyle = UITableViewCellSelectionStyleGray;
cell.selectedBackgroundView = [UIView new];
cell.selectedBackgroundView.backgroundColor = [UIColor xxxxxx];
cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cellart.png"]] autorelease]; 還有字體顏色 cell.textLabel.highlightedTextColor = [UIColor xxxcolor]; [cell.textLabel setTextColor:
//設置點擊沒有顏色
cell.selectionStyle = UITableViewCellSelectionStyleNone;
[theTableView setSeparatorColor:[UIColor xxxx ]];
首先我有一個UITableViewController,其中每一個UITableViewCell點擊後都會push另外一個ViewController,每次點擊Cell的時候,Cell都會被選中,當從push的ViewController返回的時候選中的Cell便會自動取消選中。後來因爲某些緣由我把這個UITableViewController改爲了UIViewController,以後就產生了一個問題:每次返回到TableView的時候,以前選中的Cell不能自動取消選中,通過查找得知:字體
UITableViewController有一個clearsSelectionOnViewWillAppear的property,spa
而當把UITableViewController修改爲UIViewController後,這個屬性天然就不存在了,所以咱們必須手動添加取消選中的功能,方法很簡單,在viewWillAppear方法中加入:code
[self.tableView deselectRowAtIndexPath:[self.tableView indexPathForSelectedRow] animated:YES];
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ ………… //消除cell選擇痕跡 [self performSelector:@selector(deselect) withObject:nil afterDelay:0.5f]; } - (void)deselect{ [self.tableview deselectRowAtIndexPath:[self.tableview indexPathForSelectedRow] animated:YES]; }