UIImage返回零

时间:2013-11-26 10:52:47

标签: ios objective-c uiimage uicollectionview

我将数据从一个控制器传递到另一个控制器。

发送数据的

TemplateController如下所示:

- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
     PreviewController *destViewController = [[PreviewController alloc]init];
     destViewController.passFrameLabel = [self.frameImages[indexPath.section] objectAtIndex:indexPath.row];
     [self.collectionView deselectItemAtIndexPath:indexPath animated:NO];
     [destViewController loadFrame];
     [self dismissViewControllerAnimated:YES completion:nil];
}

我的loadFrame中的PreviewController方法如下所示:

UIImageView *frameImageView = [[UIImageView alloc] init];
[self.view addSubview:frameImageView];
self.frameImageView.image = [UIImage imageNamed:self.passFrameLabel];

调试后,self.passFrameLabel包含正确的值,但self.frameImageView.image返回nil。我错过了什么?

2 个答案:

答案 0 :(得分:5)

当您的类还具有frameImageView属性时,您似乎正在创建frameImageView本地对象。您正在添加UIImageView的本地对象作为子视图,但将image分配给属性(似乎未初始化)。

你应该修改你的代码,

//frameImageView should be a strong property
_frameImageView = [[UIImageView alloc] init]; 
self.frameImageView.frame = CGRectMake(10,10,50,50); //Add suitable frame
//Now assign image
self.frameImageView.image = [UIImage imageNamed:self.passFrameLabel];
//Add this property as subview
[self.view addSubview:self.frameImageView];

尝试一下。

答案 1 :(得分:0)

首先 - 项目中是否存在该文件名的图像,是否已将其复制到目标包中?