iPhone“addSubView”方法和视图初始化

时间:2011-06-11 21:22:21

标签: iphone initialization addsubview

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

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

您可以注意到,我首先调用addSubView,然后才设置照片。我这样做是因为“imageView”(“photoPreviewView.imageView”)只有在调用“addSubView”后才能访问。

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

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

2 个答案:

答案 0 :(得分:1)

不确定理解你的问题,但是,
你可以在你的代码之前试试这个:

[self.photoPreviewView.view addSubview:nil];

也许它允许您访问imageView的{​​{1}}属性。

让我知道它是否有效。

答案 1 :(得分:1)

信息不够 - 如果photoPreviewView是通过加载创建的 从NIB文件和imageView是一个IBOutlet然后链接不是 为imageView建立,直到您访问了photoPreviewView的view属性。

如果是这种情况,只需做一个

[self.photoPreviewView view];
[[self.captureManager captureStillImage:self.photoPreviewView.imageView];
[self.view add subView;self.photoPreviewView.view];