由UIImageView分配图像引起的奇怪错误

时间:2009-10-24 11:03:22

标签: iphone cocoa-touch uiimageview uiimagepickercontroller

我正在制作一个简单的iPhone应用程序,在某些情况下,它有一种非常奇怪的行为,我无法理解......

该应用有一个UIImageView和一些控件,如UISwitch,标签,progresbar等。这些控件最初处于某些状态,如开关关闭,标签包含一些初始文本, progresbar是隐藏的。这些状态最终会在与用户交互时发生变化。

过了一会儿,App应该用相机拍照。此图片将分配给我的UIIMageView。所有对象只有一个委托控制器(为什么不呢?)。

现在问题出现了:在用相机拍摄照片并将其分配到图像视图后,所有控件都返回到初始状态......

当我评论一行时,图像将被分配到我的UIImageView:

imageView.image = [info objectForKey:@"UIImagePickerControllerOriginalImage"];

控件的状态不会改变!所以它只是由图像分配引起的,但为什么呢?!

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

听起来你正在viewDidAppear:设置控件的状态。

当您显示图片选择器时,您的视图会消失,并会发送viewWillDisappear:viewDidDisappear:。因此,当您关闭图片选择器时,您的视图会发送viewWillAppear:viewDidAppear:

如果您在该方法中设置控件的状态,那么只要调用这些方法,它们就会被重置。

也许考虑移动代码将控件状态设置为viewDidLoad