gpt4 book ai didi

ios - 从 UITabBarController (Swift) 打开(即转到)特定的 segue

转载 作者:搜寻专家 更新时间:2023-11-01 07:29:51 24 4
gpt4 key购买 nike

Sample Image

在 Swift 2 中,Xcode 7.1

如上图,TabBarController 将成为主视图。匿名用户可以转到主页选项卡,如果他们单击“我”(个人资料)选项卡,我希望应用程序会弹出新的登录 segue(导航 Controller )。用户需要先登录才能进入“我”选项卡。

目前我已经覆盖了TabBarController类中的TabbarControllerDelegate,如下所示(我使用Parse,所以user = PFUser.currentUser(),Parse会缓存用户):

func tabBarController(tabBarController: UITabBarController, shouldSelectViewController viewController: UIViewController) -> Bool {


if (viewController is MeViewController && user == nil) {

print("login \(viewController)")

// How could I go to the Login Segue from here?

return false

} else {
return true
}
}

我怎样才能从这里实现我的目标?或者有什么更好的建议?顺便说一句,我无法将 performSegueWithIdentifierTabBarController 类一起使用,除非我在 ProfileViewController 类 (UIViewController) 中使用它来实现它。但如果我这样做,应用程序将首先在“我”选项卡中显示 View ,然后转到“登录”segue,这不是我想要的

非常感谢任何建议

最佳答案

如果您希望用户在登录前无法找到我,您可以使用静态 bool 值进行检查,该 bool 值将在应用程序委托(delegate)中初始化。然后,如果 bool 值设置为 false(默认值),您可以调用您的登录弹出窗口。这里没有必要执行 segue,只需在 Storyboard 中的 View 上放置一个标识符(身份检查器 => Storyboard id),然后您可以像这样调用 Storyboard 的这个特定 View :

let SB = UIStoryboard(name: "MyStoryboard", bundle: nil)
let controller = SB.instantiateViewControllerWithIdentifier("MyId")
self.presentViewController(controller, animated: true, completion: nil)

Segues 仅适用于相互链接的 View ,我个人几乎从未使用过它们。

关于ios - 从 UITabBarController (Swift) 打开(即转到)特定的 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33305062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com