UIImageView根本不会出现在自定义UITableViewCell中

时间:2010-09-13 04:08:06

标签: iphone iphone-sdk-3.0 uitableview uiimageview

我有一个表单元格,我以编程方式添加子视图。所有文本子视图都可以正常工作,但我无法使用图像子视图。

您会注意到我将背景颜色设置为黑色。这只是向我表明子视图确实正在初始化并在单元格内正确定位。当我删除背景颜色时,那里什么都没有。

此外,单元格样式是UITableViewCellStyleDefault,但我认为这与自定义子视图无关。我希望图像位于右侧,这就是为什么我没有使用单元格提供的标准imageView属性。

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

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:CellIdentifier];

    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];

        // ... add textual views ...

        UIImageView *img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"clock.png"]];
        img.frame = CGRectMake(271.0f, 10.0f, 19.0f, 22.0f);
        img.backgroundColor = [UIColor blackColor];

        [cell addSubview:img];
    }

    // ... more code ...

    return cell;
}

1 个答案:

答案 0 :(得分:0)

您的代码在某种程度上看起来很好。我在代码中创建自己的UITableViewCells时遇到的一个问题是我使用像你这样的变量创建单元格,但你不应该这样做。

您应该做的是创建单元格,然后设置变量。如果单元格不同,则应使用不同的重用标识符。希望这有意义,如果不让我知道,我会更新。