【发布时间】:2018-06-13 17:27:33
【问题描述】:
当用户从推送通知启动应用程序时,我会呈现一个视图控制器,然后推送另一个。我展示第一个 VC 的代码如下
let mainStoryBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let homeNav: UIViewController = mainStoryBoard.instantiateViewController(withIdentifier: "HomeNavController") as! UINavigationController
let homePageTableVC = mainStoryBoard.instantiateViewController(withIdentifier: String(describing: HomePageTableViewController.self)) as! HomePageTableViewController
homePageTableVC.tipToPresent = tipDay
homeNav.addChildViewController(homePageTableVC)
self.window = UIWindow(frame: UIScreen.main.bounds)
self.window?.rootViewController = homeNav
self.window?.makeKeyAndVisible()
tipToPresent 属性由 homePageTableVC(在 viewDidLoad 方法中)使用,然后使用以下代码呈现第二个 VC:
if let tipDayToPresent = tipToPresent {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let tipVC = storyboard.instantiateViewController(withIdentifier: String(describing: TipViewController.self)) as! TipViewController
tipVC.dayOfTip = tipDayToPresent
tipToPresent = nil
navigationController?.pushViewController(tipVC, animated: true)
}
这很好用,但是当我按下返回按钮返回 homePageTableVC 时,导航栏是空白的。通常显示的标题图像、菜单按钮和右栏按钮不可见。
感谢任何帮助。
【问题讨论】:
-
您是否尝试过以编程方式将标题添加到您的代码中? navigationController.navigationBar.topItem.title = "YourTitle" 我的猜测是,由于您是以编程方式设置情节提要,如果您在界面生成器中设置标题,它将无法访问该标题。