gpt4 book ai didi

ios - 在 Unwind Segue 中清除导航 Controller

转载 作者:行者123 更新时间:2023-11-28 08:40:42 25 4
gpt4 key购买 nike

我有一个连接两个 View 的 segue。在父 View 中,导航栏是灰色的,而在 subview 中,它是清晰的。展开 segue 时,父 Controller 中的导航栏现在也清晰可见。如何解决这个问题?

父 Controller

  override func viewWillAppear(animated: Bool) {
self.navigationItem.title = "FEED"
self.navigationController?.navigationBar.barTintColor = UIColor(white:0.97, alpha:1.0)
let navBarLineView = UIView(frame: CGRectMake(0,
CGRectGetHeight((navigationController?.navigationBar.frame)!),
CGRectGetWidth((self.navigationController?.navigationBar.frame)!),
1))
navBarLineView.backgroundColor = UIColor(red:0.91, green:0.91, blue:0.92, alpha:1.0)
navigationController?.navigationBar.addSubview(navBarLineView)
}

子 Controller

 override func viewWillAppear(animated: Bool) {
self.navigationItem.title = "Space
self.navigationController?.navigationBar.barTintColor = UIColor.whiteColor()

navigationController!.navigationBar.setBackgroundImage(UIImage(), forBarMetrics: UIBarMetrics.Default)
navigationController!.navigationBar.shadowImage = UIImage()
navigationController!.navigationBar.translucent = true
}

最佳答案

当我想恢复导航栏的默认样式时,在子 Controller 的 viewWillDisappear 方法中将背景和阴影图像设置为 nil 对我来说效果很好:

override func viewWillDisappear(animated: Bool) {
navigationController!.navigationBar.setBackgroundImage(nil, forBarMetrics: UIBarMetrics.Default)
navigationController!.navigationBar.shadowImage = nil
}

关于ios - 在 Unwind Segue 中清除导航 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36564857/

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