UITableViewCell:图像出现在Cell View后面

时间:2012-01-11 22:13:18

标签: iphone xcode uitableview uiimageview

它真的很烦人,但出于某种原因,我的ImageView出现在Cell View后面。如果我关闭剪辑,那么我可以在细胞后面看到图像。仅供参考,我正在尝试显示从照片库中挑选并转换为PNG的图像。

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

    static NSString *headerCellID = @"FormHeaderCellView";
    if(indexPath.section==0 && indexPath.row==0) //Header cell
    {
        FormHeaderCellView *cell = (FormHeaderCellView *)[self.tableView dequeueReusableCellWithIdentifier:headerCellID];

        if (cell == nil)
        {
            NSArray *topLevelObjects =[[NSBundle mainBundle] loadNibNamed:headerCellID owner:nil options:nil];

            for (id currentObject in topLevelObjects) 
            {
                if( [currentObject isKindOfClass:[UITableViewCell class]])
                {
                    cell = (FormHeaderCellView *) currentObject;
                    break;
                }
            }

        }


        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
        NSString *documentsDirectory = [paths objectAtIndex:0];
        NSString *file = [documentsDirectory stringByAppendingPathComponent:@"logo.png"];

        if([[NSFileManager defaultManager] fileExistsAtPath:file])
        {   
            UIImage *img=[[UIImage alloc] initWithContentsOfFile:file];

            [cell.logoImage setImage:img];
        }


        [cell.textLabel setText:[[NSUserDefaults standardUserDefaults] objectForKey:@"userName"]];

        [cell setSelectionStyle:UITableViewCellSelectionStyleNone];

        return cell;

    }

所有东西似乎都装得很好,因为我可以在视觉上看到细胞背后的图像。 非常感谢您的帮助。

更新:如果在我设置的笔尖中,某些测试和图像是否正常显示 logoImage的图像属性到包中的任何图像。所以问题在于显示从文档目录(从照片库中保存)加载的图像。

1 个答案:

答案 0 :(得分:1)

我附近没有Mac,所以我为代码中的任何错误道歉。

你确定logoImage高于其他视图吗?在您的单元类中尝试执行以下操作:

[self.view addSubview:self.logoImage];
[self.view bringSubviewToFront:self.logoImage];

应将logoView置于单元格的所有其他子视图之上。

希望有所帮助