代码之家  ›  专栏  ›  技术社区  ›  Prabhu

在推送通知后转换到特定视图控制器。不同的情节提要和不同的选项卡

  •  -1
  • Prabhu  · 技术社区  · 6 年前

    这是我的结构:

    Storyboard1: tab1 -> VC1 
    Storyboard2: tab2 -> VC2
    Storyboard3: tab3 -> VC3a -> VC3b 
    Storyboard4: tab4 -> VC4
    

    当推送通知到达时,用户应该被发送到VC3b(在Storyboard3中定义),点击该屏幕上的后退按钮应该将用户带到VC3a。VC3b还有一个名为userId的变量,我需要设置它。我通过通知获得userId值。

    let userId = notification["userId"] as! String
    let storyboard = UIStoryboard(name: "Storyboard3", bundle: nil)
    let vc3b = storyboard.instantiateViewController(withIdentifier: "vc3b") as! VC3b
    vc3b.userId = userId
    window?.rootViewController = vc3b
    

    上面的代码不正确。它只是将用户带到应用程序的默认屏幕。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Shehata Gamal    6 年前

    我假设第三个标签插入到导航控制器中,所以

    let tab = storyboard.instantiateViewController(withIdentifier: "tab") as! UITabBarController {
    tab.selectedIndex = 2 // third tab
    self.window?.rootViewController = tab
    let nav = tab.viewController![2] as! UINavigationController
    nav.pushViewController(vc3b,animated:true)