首先我们要改变cell 的nomoral背景和selected 背景:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { NSUInteger row = [indexPath row]; static NSString *CellIdentifier = @"Cell33"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; // cell.selectionStyle= UITableViewCellSelectionStyleNone; // cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; } cell.textLabel.text=[self.cityListArray objectAtIndex:row]; cell.backgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell_select_normal.png"]]autorelease]; cell.selectedBackgroundView = [[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"cell_select_highlight.png"]]autorelease]; return cell; }
UITableview我们可以自定义任意一个cell为默认选中状态方法是:
- (void)viewDidAppear:(BOOL)animated { NSIndexPath *indexPath=[NSIndexPath indexPathForRow:0 inSection:0]; [myTableView selectRowAtIndexPath:indexPath animated:YES scrollPosition:UITableViewScrollPositionBottom]; }
或者
- (void)viewDidLoad { [super viewDidLoad]; NSIndexPath *indexpath=[NSIndexPath indexPathForRow:0 inSection:0]; [myTableView selectRowAtIndexPath:indexpath animated:YES scrollPosition:UITableViewScrollPositionBottom]; }
效果如图:
默认选中
改变选中的cell 的背景