我最初制作了一个包含 5 个 tableviewcells 的应用程序,其中每个单元格都有自己的图像,并且一旦单元格有一个包含占位符文本的 uitextfield 删除。当该单元格被点击时,它会调用一个 uipicker 并将值返回给 uitextfield。我没有使用 cellForRowAtIndexPath 方法。
我不得不以编程方式重做单元格的图像视图,因为当单元格被点击时我必须使用一些新的行为。所以我不得不用一个 switch case 来实现 cellForRowAtIndexPath 来填充每个单元格。我用其中的 UIImageViews 完成了单元格,但我被包含 UITextField 的单元格难住了。
以编程方式创建的 uitextfield 不显示。这是代码:
- (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:@"Location1.jpg"];
break;
case 1:
break;
case 2:
self.myCity = [[UITextField alloc] initWithFrame:CGRectMake(200,6,100,30)];
self.myCity.text = @"Pick a city...";
//Call UIPicker
break;
case 3:
cell.imageView.image = [UIImage imageNamed:@"driveThru1.jpg"];
break;
case 4:
cell.imageView.image = [UIImage imageNamed:@"24hrs1.jpg"];
break;
case 5:
break;
default:
break;
}
return cell;
}
这是故事板:
结果如下: