SWRevealViewController 不显示来自 Appdelegate 的状态栏推送
Posted
技术标签:
【中文标题】SWRevealViewController 不显示来自 Appdelegate 的状态栏推送【英文标题】:SWRevealViewController not show status bar push from Appdelegate 【发布时间】:2018-02-28 10:47:48 【问题描述】:我一开始尝试从appdelegate
推送SWRevealViewController
,状态栏只是暂时显示,加载viewController 后它没有出现。
这是我的代码,我正在使用 swift:
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let sw = storyboard.instantiateViewController(withIdentifier: "revealControllerStoryboard") as! SWRevealViewController
self.window?.rootViewController = sw
let destinationController = storyboard.instantiateViewController(withIdentifier: "searchViewStoryboard") as! SearchViewController
let navigationController = UINavigationController(rootViewController: destinationController)
sw.pushFrontViewController(navigationController, animated: true)
如何永久显示状态栏? 这是图片
【问题讨论】:
第一个状态栏显示但被覆盖或完全不显示??? 你必须为每个页面推送instantiateViewController。 @Sh_Khan 完全没有显示 【参考方案1】:试试这个编辑
let frontNavigationController:UINavigationController
let rearNavigationController:UINavigationController
let revealController = SWRevealViewController()
var mainRevealController = SWRevealViewController()
let menuTable = self.storyboard?.instantiateViewController(withIdentifier: "MenuViewController")as! MenuViewController
let homepage = self.storyboard?.instantiateViewController(withIdentifier: "HomeViewController") as! HomeViewController
frontNavigationController = UINavigationController(rootViewController: homepage)
rearNavigationController = UINavigationController(rootViewController: menuTable)
rearNavigationController.setNavigationBarHidden(true, animated: false)
revealController.frontViewController = frontNavigationController
revealController.rearViewController = rearNavigationController
revealController.delegate = self
mainRevealController = revealController
UIApplication.shared.delegate!.window?.rootViewController = mainRevealController
【讨论】:
你把这段代码放在 app delegate 还是 view controller 的什么位置? 第二个代码尝试放在 AppDelegate 上,第一个代码将放在视图控制器上 您的意思是 application.isStatusBarHidden = false 吗?因为我似乎找不到 application.statusBarHidden 你可以在你的AppDelegate didFinishLaunchingWithOptions这个方法中找到application.isStatusBarHidden = false 它似乎无法使用应用委托的第二个代码仍然没有显示状态栏【参考方案2】:self.window = UIWindow(frame: UIScreen.main.bounds)
不知何故添加这一行使状态栏再次显示
【讨论】:
以上是关于SWRevealViewController 不显示来自 Appdelegate 的状态栏推送的主要内容,如果未能解决你的问题,请参考以下文章
带有 SWRevealViewController 的 ios 滑动状态栏
SWRevealViewController 的 Segue 问题
如何通过单击按钮打开 SWRevealViewController?