【发布时间】:2019-04-22 16:40:25
【问题描述】:
如何在 iOS 应用中检测不活动或没有用户交互。用于显示单独的屏幕,如覆盖或屏幕保护程序。 通过以下链接 link that used to present screen overlay when the app became inactive 我可以在应用程序中显示屏幕保护程序。但是正常的关闭视图控制器代码无法关闭呈现的视图控制器。
we are presenting the custom overlay using
// The callback for when the timeout was fired.
func applicationDidTimout(notification: NSNotification) {
let storyboard = UIStoryboard(name: "MyStoryboard", bundle: nil)
let vc =
storyboard.instantiateViewControllerWithIdentifier("myStoryboardIdentifier")
UIApplication.shared.keyWindow?.rootViewController = vc
}
我们在这方面面临的问题是。一旦呈现视图,我们就无法关闭或移除视图控制器。
【问题讨论】:
-
不是替换根视图控制器,而是在根视图控制器上模态显示屏幕保护程序屏幕。这样一旦用户触摸屏幕,您就可以关闭屏幕保护程序视图控制器。你又恢复了工作。
-
太棒了。非常感谢您的评论:)
-
抱歉我的问题,但是当您显示叠加层时,您会以特定方式降低显示亮度,还是什么?还是它唯一的“块设备节能”信息?你能解释一下吗?
-
@DennyDog 不,不,它用于在呈现的视图控制器中显示细节。更像是一个小的单页广告。
-
@DennyDog 在像 iPhone X 这样的最新设备中,我们可以使用它来通过显示完全黑屏来节省能源,如你所说。我认为这也是一个好主意。 (特别是在 amoled 显示器中)
标签: ios iphone swift navigation screensaver