Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/103.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在主故事板顶部显示锁屏_Ios_Swift_Iphone_Xcode_Storyboard - Fatal编程技术网

Ios 在主故事板顶部显示锁屏

Ios 在主故事板顶部显示锁屏,ios,swift,iphone,xcode,storyboard,Ios,Swift,Iphone,Xcode,Storyboard,当用户从didFinishLaunchingWithOptions或applicationWillEnterForeground进入应用程序时,我想显示一个锁定屏幕 我在另一个故事板上设置了锁屏,而不是在主故事板上 如果我实例化锁屏情节提要,然后移动到主情节提要,则应用程序将不会保持与用户离开应用程序时以及使用applicationWillEnterForeground进入应用程序时相同的状态 因此,如果用户处于特定的视图控制器中,然后离开应用程序并使用applicationWillEnterF

当用户从didFinishLaunchingWithOptions或applicationWillEnterForeground进入应用程序时,我想显示一个锁定屏幕

我在另一个故事板上设置了锁屏,而不是在主故事板上

如果我实例化锁屏情节提要,然后移动到主情节提要,则应用程序将不会保持与用户离开应用程序时以及使用applicationWillEnterForeground进入应用程序时相同的状态

因此,如果用户处于特定的视图控制器中,然后离开应用程序并使用applicationWillEnterForeground再次进入,则情节提要将被实例化为锁定屏幕情节提要,一旦用户解锁屏幕,他将重定向到主情节提要的rootViewController,而不是他以前所在的视图控制器

主情节提要以一个UITabBarController开始

你如何克服这个问题

如果让lockedViewController=UIStoryboardname:Locked,则绑定:.main.InstanceInitialViewController{ 窗口?.rootViewController=lockedViewController 窗口?.makeKeyAndVisible } 锁定屏幕故事板:


谢谢

只需创建UIWindow的新实例并在appdelegate中保留引用即可

前台转换时创建新窗口和解锁释放窗口时

private var lockWindow:UIWindow?
func createNewWindow()  {
    lockWindow = UIWindow(frame: UIScreen.main.bounds)
    lockWindow!.rootViewController = UIStoryboard(name: "Locked", bundle: .main).instantiateInitialViewController()
    lockWindow!.windowLevel = UIWindow.Level.alert + 1;
    lockWindow!.isHidden = false
}

func releaseWindow() {
    self.lockWindow?.isHidden = true
    self.lockWindow = nil
}

只需创建UIWindow的新实例并在appdelegate中保留引用

前台转换时创建新窗口和解锁释放窗口时

private var lockWindow:UIWindow?
func createNewWindow()  {
    lockWindow = UIWindow(frame: UIScreen.main.bounds)
    lockWindow!.rootViewController = UIStoryboard(name: "Locked", bundle: .main).instantiateInitialViewController()
    lockWindow!.windowLevel = UIWindow.Level.alert + 1;
    lockWindow!.isHidden = false
}

func releaseWindow() {
    self.lockWindow?.isHidden = true
    self.lockWindow = nil
}

使用单独的窗口锁定屏幕谢谢,你有知道如何实现的示例或文章吗?使用单独的窗口锁定屏幕谢谢,你有知道如何实现的示例或文章吗?