gpt4 book ai didi

iphone - UIImagePickerControllerSourceTypeCamera 的父 View 问题

转载 作者:行者123 更新时间:2023-12-03 19:47:29 26 4
gpt4 key购买 nike

我对 UIImagePickerControllerSourceTypeCamera 有一个奇怪的问题。我的应用程序可以选择从图库中选择照片,或使用相机拍照。如果我选择图库,我会选择一张照片并返回到我的 View ,没有任何问题。

但是,当使用 UIImagePickerControllerSourceTypeCamera 时,当我返回它时,它似乎对我的 View 做了一些奇怪的事情。

例如,我在 viewDidLoad 方法中有一堆代码,如果需要的话,它会根据某些因素移动 View 中的某些对象 - 当我退出 UIImagePickerControllerSourceTypeCamera 时会调用此代码,但当我退出时不会调用此代码画廊。

这是预期的吗?

最佳答案

我认为您的 View 被资源密集型相机触发的 didReceiveMemoryWarning 事件所转储。您可以强制模拟器在没有相机的情况下生成内存警告来测试这一理论。

一般来说,viewDidLoad需要能够处理多次调用。它不是一个 init 方法。如果 self.view 设置为 nil 并且稍后需要重新创建 View ,则会再次调用它。可能有一个更合适的位置来放置导致问题的任何代码,但是 init 方法很棘手,因为指定的初始化程序会被 nib 加载绕过。

当从 nib 加载时,会调用该类的 initWithCoder,这会绕过整个 init 过程,因为假定解档会吸入已初始化的对象。因此,重新初始化对象可能会破坏一些东西,比如调用 loadView ,它本质上与 Nib 包含的内容相冲突,因为它应该以编程方式构造 Nib 中已有的内容。您仍然可以像往常一样重写 initWithCoder,只要您像您应该的那样将参数传递给 super 即可,但是如果您使用指定的初始值设定项初始化对象,则不会调用此方法。当然,如果您需要担心,您可以将要在这两个方法中执行的所有代码放入一个方法中,该方法从两个重写的方法中调用。

关于iphone - UIImagePickerControllerSourceTypeCamera 的父 View 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2128201/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com