如何在UITableViewCell中重新定位UIImageView

时间:2013-06-11 12:43:00

标签: ios uitableview uiimageview frame

我有一个cellForRowAtIndexPath方法,它使用一个开关来构建像这样的单元格:

switch (indexPath.row) {
        case 0:
            cell.imageView.image = [UIImage imageNamed:@"Usar mi ubicacion actual.jpg"];
            [cell.imageView setFrame:CGRectMake(5, 5, cell.imageView.image.size.width, cell.imageView.image.size.height)];
            break;

但它不起作用。我改成了这个:

- (UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {


    UITableViewCell *cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"MyIdentifier"] autorelease];


    switch (indexPath.row) {
        case 0:
            self.locationButtonImageView.image = [UIImage imageNamed:@"Usar mi ubicacion actual.jpg"];
            //cell.imageView.image = [UIImage imageNamed:@"Usar mi ubicacion actual.jpg"];
            break;

单元格加载没有按钮图像。如果我点击单元格,则切换工作并显示所选按钮图像,然后继续切换。所以这可能是一个加载太迟的问题,对吗?

1 个答案:

答案 0 :(得分:5)

  

UITableViewCell默认样式不能被位置覆盖。

您需要自定义单元格并使用xib文件将自己的imageView添加到其contentView或子类中,并将imageView添加到其中