首先我们要改变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 的背景