【问题标题】:Swift 5 iOS13 - Segue to another Storyboard or unconnected View Controller without creating Card ViewSwift 5 iOS13 - Segue 到另一个故事板或未连接的视图控制器而不创建卡片视图
【发布时间】:2019-09-29 11:20:50
【问题描述】:

keyWindow 在 iOS 13 中也已弃用,因此我为这个问题找到了另一种解决方案。

随着 Swift 5.1、iOS 13 和 Xcode 11 的当前更新,下面的代码在使用时会创建“卡片视图”,因此用户可以轻松向下滑动并返回之前的视图。然而,问题在于,如果用户在使用下面的代码时登录或注销,则用户在注销后可以返回登录屏幕或主应用程序,这是有问题的。在故事板或未连接的视图控制器之间将用户分隔到不创建“卡片视图”的最佳方法是什么? “解决方案”的问题是 keyWindow 已被弃用。它可以工作但正在寻找官方解决方案。

在故事板和未连接的视图控制器之间切换的旧方法

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "Start")
self.present(vc, animated: true, completion: nil)

解决方案

let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "homeVC") as! UITabBarController 
UIApplication.shared.keyWindow?.rootViewController = vc

【问题讨论】:

    标签: ios swift segue


    【解决方案1】:

    如果您真的喜欢“旧方式”,请继续使用它,但添加一行将vcmodalPresentationStyle 设置为.fullScreen

    【讨论】:

    • 视图层次结构会发生什么?这会产生和以前一样的效果吗?谢谢。
    • 和你的“老办法”完全一样。
    • 你能推荐一个更好的方法吗?还有更合适的吗?我只是好奇。
    • 我觉得没问题。这就是我的做法,基本上,在我的示例中:github.com/mattneub/RegistrationExample 它在 iOS 13 上运行良好。
    • 这对我有用,谢谢。这里还有一个例子stackoverflow.com/questions/56435510/…
    猜你喜欢
    • 2012-01-27
    • 2011-12-30
    • 1970-01-01
    • 2020-10-05
    • 2012-02-20
    • 2019-04-17
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    相关资源
    最近更新 更多