gpt4 book ai didi

ios - setNavigationBarHidden 不起作用

转载 作者:行者123 更新时间:2023-11-30 11:17:55 25 4
gpt4 key购买 nike

这对你们中的一些人来说似乎是显而易见的,但我在网上找不到答案。我试图让我的导航栏仅出现在一个 View Controller 上,以便所有教程都显示我刚刚添加了此内容:

override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: false)
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: false)
}

但是当我退出此 View Controller 然后返回到它时,导航栏不在那里。有什么想法吗??

最佳答案

我认为您走在正确的轨道上,但您需要定义所采取的行动。假设您在 View Controller 中有 UIScrollView 并且您希望导航栏消失,所以这里是您可以使用的最佳代码。

func scrollViewWillEndDragging(_ scrollView: UIScrollView, withVelocity velocity: CGPoint, targetContentOffset: UnsafeMutablePointer<CGPoint>) {
if(velocity.y>0) {
UIView.animate(withDuration: 2.5, delay: 0, options: UIViewAnimationOptions(), animations: {
self.navigationController?.setNavigationBarHidden(true, animated: true)
}, completion: nil)

} else {
UIView.animate(withDuration: 2.5, delay: 0, options: UIViewAnimationOptions(), animations: {
self.navigationController?.setNavigationBarHidden(false, animated: true)
}, completion: nil)
}

}

在您的情况下,您不需要声明动画两次,它已经由函数定义,请尝试将其删除,如下所示。

override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(true, animated: false)
}
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.setNavigationBarHidden(false, animated: false)
}

关于ios - setNavigationBarHidden 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51585225/

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