退出应用程序并使用Swift 4返回主屏幕

时间:2018-10-04 05:00:40

标签: ios swift uiviewcontroller uitabbarcontroller

我正在使用UITabbarController。我在UITabbarController内部有3个项目/标签。每个选项卡描绘了单独的View控制器。视图列表如下

  • 选项卡1:列表视图控制器
  • 标签2:收藏夹视图控制器
  • 标签3:联系人视图控制器

现在假设我位于选项卡3(Contacts View控制器)上。在这里,我向我的用户展示一个具有按钮“ Exit App”的UIAlertController。

当用户单击“退出”应用程序时,该用户应从我们的应用程序中退出,并被带到主屏幕。

我尝试按照SO的摘要进行操作,但没有任何帮助。

self.view.window!.rootViewController?.dismiss(animated: true, completion: nil)

我甚至读过做exit(integer number)来退出应用程序的信息,但我也读过它不应该这样做。

所以我真的对退出应用程序需要做什么感到困惑?如何使用Swift 4退出应用并返回主屏幕?

2 个答案:

答案 0 :(得分:0)

退出该应用程序不是一个好主意。 @Cristik在评论中提供的URL还表明,如果苹果对此有所了解,他们会向您发送通知以将其删除。

最好只保留正确的UIAlert信息,以告诉用户使用该应用程序需要做什么。另外,正确的UI导航可以首先获取您的业务逻辑所需的所有东西,从而使用户在使用该应用程序之前不会错过任何事情。

如果您仍然想使用此功能,请按照@Cristik的评论尝试以下解决方案:

答案 1 :(得分:-2)

您可以使用:

let storyboard = UIStoryboard(name: "Main", bundle: nil)

let loginVcObj = storyboard.instantiateViewController(withIdentifier: "SignInVc") as! SignInVc

var vcArray = (applicationDelegate.window?.rootViewController as! UINavigationController).viewControllers
vcArray.removeAll()
vcArray.append(loginVcObj)

(applicationDelegate.window?.rootViewController as! UINavigationController).setViewControllers(vcArray, animated: false)