我有一个UIImageView,我想加载来自UIImagePickerController实例的图片,以便向用户显示预览。我的应用程序具有一个TabBarViewController,为了隐藏该栏,我以模态显示选择器和预览。
我用于预览的控制器已建立在Interface Builder上,并且它拥有一个空的UIImageView。拍摄完照片后,我试图设置UIImageView的图像,但IBOutlet始终为零。这是我为了达到我想要的目的而想到的:
[self.view addSubview:self.previewController.view];
[self.previewController.imageView setImage:self.scaledPicture];
[self presentModalViewController:self.previewController animated:YES];
我仍然不确定这是正确的方法,但是如果我不使用上面的第一行,那么self.previewController.imageView将为nil。该行的视觉效果没有影响,因为模态视图涵盖了所有内容。
我检查了IB中的链接很多次,它们似乎都是正确的。
这是正确的进行方式吗?
最佳答案
如果您刚刚创建了previewController,则其viewView将为nil,因为尚未加载该视图。第一行似乎使它起作用的原因是因为它导致视图加载。
您应该做的是在PreviewController上具有一个image
属性,您可以在此处分配它。然后将图像加载到PreviewController的imageView
中的viewDidLoad
中。这样,您还可以避免戳其他视图控制器的视图。