我有这个表视图:
这些都是自定义 - 静态单元格。
但在 sim/device 中,它看起来像这样:
我像这样填充单元格:
#pragma mark - TableView Cell Methods
- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];
switch (indexPath.row) {
case 0:
cell.imageView.image = [UIImage imageNamed:@"Usar mi ubicacion actual.jpg"];
break;
case 1:
break;
case 2:
[cell setAccessoryType:UITableViewCellAccessoryDisclosureIndicator];
self.myCity = [[UITextField alloc] initWithFrame:CGRectMake(20,10,200,35)];
self.myCity.text = @"Seleccione su ciudad...";
self.myCity.borderStyle = UITextBorderStyleRoundedRect;
[cell.contentView addSubview:self.myCity];
//Call UIPicker
break;
case 3:
cell.imageView.image = [UIImage imageNamed:@"Farmacias-con-Autoservicio.png"];
break;
case 4:
cell.imageView.image = [UIImage imageNamed:@"Farmacias-abiertas-en-este-momento.png"];
break;
case 5:
break;
default:
break;
}
return cell;
}
我知道我需要将 cell.imageView 的框架重置为更靠近左边缘的东西,例如 CGRectMake(5,5,width,height)。为此,我需要继承我所做的 UITableViewCell (MyCustomCell) 并将此代码添加到其中:
- (void)layoutSubviews {
[super layoutSubviews];
self.imageView.frame = CGRectMake(5.0f , 5.0f, 175.0f, 40.0f);
}
现在这将使每个单元格开始靠近左边缘。但是我怎样才能使 1:separator & 2:UIPicker 单元格不受此影响?我可以让这些单元格成为常规 UITableViewCells 和其他 MyCustomCell 吗?