【问题标题】:iOS remove view before applicationWillEnterForegroundiOS 在 applicationWillEnterForeground 之前删除视图
【发布时间】:2013-10-04 07:38:09
【问题描述】:

我正在 iOS 7 上开发一个具有所需功能的应用程序

  • 当我主页按钮,应用程序进入背景,我将添加一个图像到当前 UIWindow。因此,当应用程序进入后台时,如果用户在 iOS 7 上使用双主页按钮,操作系统将显示我的应用程序当前视图的小屏幕截图,以便用户可以看到我添加的图像。 :)(我做到了)

  • 当用户通过单击应用程序图标返回我的应用程序时,我想立即删除此图像。在这种情况下,“立即”意味着用户不能再看到这个图像,当应用程序进入前台时用户只能看到他/她的当前视图。我尝试将代码删除图像放在 applicationWillEnterForeground 委托的开头,但在它消失后我仍然能够在短时间内看到该图像。

    • 我也尝试先为此图像视图设置隐藏的 alpha 属性,然后是 removeFromSuperview,但它不起作用。

任何人都可以根据我的愿望帮助我“立即”删除它。

【问题讨论】:

    标签: ios


    【解决方案1】:

    所有应用程序都会自动完成此操作,您无需在代码中执行任何操作。

    【讨论】:

    • 感谢@user2320456,但是当应用程序进入前台时,我仍然会在短时间内看到此图像。 :)
    • 我认为图像不可能立即消失。即使是这样,我也更喜欢典型的 iOS 行为,用户喜欢并期待它。
    • 嗯,也许我不得不接受,但如果您有其他想法,请不要犹豫,告诉我。 :) 谢谢
    【解决方案2】:

    我不认为你可以做得更快,这取决于设备性能。对不起,伙计。

    【讨论】:

    • 是的,这是个问题。我在 ipad mini、iOS 7 上构建,设备还不错,但我认为应用程序会先将当前视图带给用户,然后再到 applicationWillEnterForeground 执行代码。
    【解决方案3】:

    正如其他人所说,iOS 处理这些事件的方式非常棘手。我一直在研究并依赖于设备的内存状态来更快地完成它。确实,在 iPhone 4 和 4S 中可能不会显示您在applicationWillEnterForeground 方法中添加的图像。

    如果我是你,我会在应用再次激活时添加该图像的平滑淡出动画来解决此问题。使用[UIView animateWithDuration: animations:] 可以做得很好! :)

    如果我发现其他问题,我会在这里回答!

    【讨论】:

    • 感谢@Manuel M.,我在 ipad mini 上运行 iOS 7 并发现了这个问题。 :)
    猜你喜欢
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-20
    相关资源
    最近更新 更多