将NSString从plist传递到ImageView时遇到问题

时间:2013-05-28 00:19:35

标签: ios objective-c uiimageview uiimage addsubview

我正在使用plist来填充我的表视图行(即名称,描述和图像)。当用户选择一行时,一个新的控制器被推高,imageView以全屏显示行图像。

我面临的问题是,将字符串传递给新的viewController的imageView。

所有NSLog都返回正确的信息,除了当它记录UIImageView时,它返回null。我没有正确连接吗?在选择之前,该行不会显示任何图像(基本上该行正在起作用,类似于缩略图)。

任何帮助将不胜感激,谢谢!

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {

    NSDictionary *childDictionary = [mainChildren objectAtIndex:indexPath.row];

    //Image Name NSString from plist
    childImage = [childDictionary objectForKey:@"Child Image"];

    if ([childDictionary objectForKey:@"Child Image"] == nil) {

        NSLog(@"No Image String Found.");
    }

    else {

        NSLog(@"Image String Found. Image Name is: %@", childImage);

        UIImage *myImage = [UIImage imageNamed:childImage];
        NSLog(@"Image Found. Image is: %@", myImage);

        UIImageView *childImageView = [childImageView setImage:myImage];        
        NSLog(@"ImageView Found. ImageView is: %@", childImageView);

        FullscreenImageViewController *imgViewer = [[FullscreenImageViewController alloc] init];
        imgViewer.fullScreenImageView = childImageView;
        [self presentViewController:imgViewer animated:YES completion:nil];
    }
}

1 个答案:

答案 0 :(得分:1)

当你实例化一个新的UIImageView时,它应该是[[UIImageView alloc] initWithImage:image]。

或者,因为您的全屏图像控制器具有图像视图的属性,例如fullScreenImageView,您可以直接使用UIImage实例设置属性的图像。