如何处理imageview



我正在开发一个应用程序,在这个应用程序中,我对表中的一行使用三个imageview。对于成功加载的前两个图像。在加载第三张图片的时候,图片会变成黑色。Si,请告诉我如何处理这个。下面是imageview声明的代码。

     - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
        UITableViewCell *cell=[[[UITableViewCell alloc]init] autorelease];
         tableview1.separatorStyle=UITableViewCellSeparatorStyleNone;
    if(indexPath.row==0)
    {
        image1=[[[UIImageView alloc]initWithFrame:CGRectMake(12, 8, 90, 90)]autorelease];
        image1.frame=CGRectMake(12, 8, 90, 90);
        [image1.layer setBorderWidth:1.0f];
        [image1.layer setBorderColor:[[UIColor grayColor] CGColor]];
        [image1.layer setCornerRadius:1.0f];
        image1.layer.masksToBounds = YES;
        image1.userInteractionEnabled=YES;
        image1.tag=1;
        [image1 setContentMode:UIViewContentModeScaleToFill];
        if([[odrdata stringForKey:@"keyTo1Image"] isEqualToString:@""])  
        {
        }
        else 
        {
    image1.image=[UIImage imageWithContentsOfFile:[odrdata stringForKey:@"keyTo1Image"]];
        }
        [cell.contentView addSubview:image1];
    image2=[[[UIImageView alloc]initWithFrame:CGRectMake(114, 8, 90, 90)]autorelease];
        image2.frame=CGRectMake(114, 8, 90, 90);
        [image2.layer setBorderWidth:1.0f];
        [image2.layer setBorderColor:[[UIColor grayColor] CGColor]];
        [image2.layer setCornerRadius:1.0f];
        image2.layer.masksToBounds = YES;
        image2.userInteractionEnabled=YES;
        image2.tag=1;
        [image2 setContentMode:UIViewContentModeScaleToFill];
        if([[odrdata stringForKey:@"keyTo2Image"] isEqualToString:@""])  
        {
        }
        else 
        {
    image2.image=[UIImage imageWithContentsOfFile:[odrdata stringForKey:@"keyTo2Image"]];
        }
        [cell.contentView addSubview:image2];
    image3=[[[UIImageView alloc]initWithFrame:CGRectMake(216, 8, 90, 90)]autorelease];
        image3.frame=CGRectMake(216, 8, 90, 90);
        [image3.layer setBorderWidth:1.0f];
        [image3.layer setBorderColor:[[UIColor grayColor] CGColor]];
        [image3.layer setCornerRadius:1.0f];
        image3.layer.masksToBounds = YES;
        image3.userInteractionEnabled=YES;
        image3.tag=3;
        [image3 setContentMode:UIViewContentModeScaleToFill];
        if([[odrdata stringForKey:@"keyTo3Image"] isEqualToString:@""])  
        {
        }
        else 
        {
    image3.image=[UIImage imageWithContentsOfFile:[odrdata stringForKey:@"keyTo3Image"]];
        }
        [cell.contentView addSubview:image3];
fsttapGesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handlefstTap:)];
        fsttapGesture.delegate=self;
        [image1 addGestureRecognizer:fsttapGesture];
sndtapGesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handlesndTap:)];
        sndtapGesture.delegate=self;
        [image2 addGestureRecognizer:sndtapGesture];
trdtapGesture=[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handletrdTap:)];
        trdtapGesture.delegate=self;
        [image3 addGestureRecognizer:trdtapGesture];
        return cell;
    }

}

您确定keyTo3Image的文件存在吗?可能发生的是,图像视图无法在你在字符串中指定的路径上找到图像。检查它是否确实指向一个文件。为了验证这一点,改变image3backgroundColor属性,看看它是否改变:

image3.backgroundColor = [UIColor redColor];

如果它变成红色,那就意味着找不到图像,所以它只是显示一个空的图像视图

最新更新