为什么我的iPhone UITableView原型单元格图像水平移动?

时间:2012-11-17 14:33:16

标签: iphone uitableview uiimage prototype

在我的表格单元格中添加了标记。使用故事板将UIImageView放入其他空的原型单元格中并大小调整(47x34)。然后在这里添加代码:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *CellIdentifier = @"Cell1";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
    if (cell == nil) {
        cell = [[UITableViewCell alloc]
            initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    cell.textLabel.text = [[[content objectAtIndex:indexPath.section] objectForKey:@"rowValues"] objectAtIndex:indexPath.row];
    cellTxt = cell.textLabel.text;

    UIImageView *flagImg = (UIImageView *) [cell viewWithTag:10];
    NSString *imgFilenm = [cellTxt stringByAppendingString:@".jpg"];
    flagImg.image = [UIImage imageNamed: imgFilenm ];
    cell.imageView.frame = CGRectMake(0, 0, 47, 34);   //  not needed, and doesn't fix it

    return cell;
}

图像出现,但向左挤压到仅约8个像素。为什么?以及如何纠正它?谢谢! small flags原件:Belize

**编辑** 我将单元格文本切换到我添加的UILabel。这是代码:

UILabel *nameLbl = (UILabel *)[cell viewWithTag:5];
nameLbl.text = [[[content objectAtIndex:indexPath.section] objectForKey:@"rowValues"] objectAtIndex:indexPath.row];

以及故事板中的内容:protocell

但现在旗帜甚至没有出现。

2 个答案:

答案 0 :(得分:0)

你的旗帜没有被“挤压”。它们实际上隐藏在单元格的标题后面。尝试类似:

UIImageView *flagImg = (UIImageView *) [cell viewWithTag:10];
NSString *imgFilenm = [cellTxt stringByAppendingString:@".jpg"];
flagImg.image = [UIImage imageNamed: imgFilenm ];
[cell bringSubviewToFront:flagImg];

答案 1 :(得分:0)

使用它来工作:

UIImageView *cellImage = (UIImageView *)[cell viewWithTag:10];
[cellImage setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@.jpg", [self.countries objectAtIndex: [indexPath row]]]]];

不知道为什么其他方法不起作用。