我正在使用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];
}
}
答案 0 :(得分:1)
当你实例化一个新的UIImageView时,它应该是[[UIImageView alloc] initWithImage:image]。
或者,因为您的全屏图像控制器具有图像视图的属性,例如fullScreenImageView,您可以直接使用UIImage实例设置属性的图像。