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

问题描述:

我有一个表格单元,我以编程方式添加了子视图。所有的文本子视图都可以正常工作,但我无法获得图像子视图。UIImageView根本不会出现在自定义的UITableViewCell中

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

此外,细胞风格是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; 
} 
+0

您确定clock.png已添加到您的项目中吗? – tidwall 2010-09-13 04:15:39

+0

是的。它在我的项目中嵌套在一个子组中,但这对其他图像没有任何影响。当我通过IB中的ImageView对其进行设置并使用IB制造的单元(由于完全不同的原因我现在无法完成)时,图像可以正确显示。 – thebossman 2010-09-13 05:53:31

+0

你对自定义单元格的引用在哪里? – Sharme 2012-01-09 13:03:35

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

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

+0

我不确定你指的是哪些变量;在我的例子中有好几个。 :)你可以指定确切的哪些? – thebossman 2010-09-13 05:54:41

+0

该图像。你要返回的每个单元格都有一个时钟图像 – Rudiger 2010-09-13 06:03:46