1

我想在屏幕上显示一个新视图。在展示它之前,我想用相机刚刚捕获的图像对其进行初始化。这是代码的一部分:

[self.view addSubview:self.photoPreviewView.view];    
UIImageView *photo = self.photoPreviewView.imageView;
[[self captureManager] captureStillImage:photo];

如您所见,我首先调用 addSubView,然后才设置照片。我这样做是因为只有在调用“addSubView”之后才能访问“imageView”(“photoPreviewView.imageView”)。

这会产生不好的体验,首先视图显示为白色,然后才显示照片。

有没有办法处理这个问题?

4

2 回答 2

1

不确定是否理解您的问题,但
您可以在代码之前尝试此操作:

[self.photoPreviewView.view addSubview:nil];

也许它将允许您访问imageView.photoPreviewView

让我知道它是否有效。

于 2011-06-11T21:30:02.647 回答
1

信息不足 - 如果 photoPreviewView 是通过从 NIB 文件加载创建的,并且 imageView 是 IBOutlet,则在您访问 photoPreviewView 的视图属性之前,不会为 imageView 建立链接。

如果是这种情况,只需执行

[self.photoPreviewView view];
[[self.captureManager captureStillImage:self.photoPreviewView.imageView];
[self.view add subView;self.photoPreviewView.view];
于 2011-06-11T21:52:05.957 回答