需要帮助隐藏/显示自定义导航栏IOS Swift吗

需要帮助隐藏/显示自定义导航栏IOS Swift吗,ios,swift,uinavigationbar,uigesturerecognizer,Ios,Swift,Uinavigationbar,Uigesturerecognizer,我需要帮助显示和隐藏未与导航控制器链接的自定义导航栏。我已初始化导航栏,并且视图中的UITapGestureRecognizer将出现,并希望使用手势选择器显示和隐藏导航栏。我尝试了许多navigationController功能,但由于我没有嵌入任何功能,它们似乎不起作用: navigationController?.barHideOnTapGestureRecognizer // OR navigationController?.hidesBarsOnTap = true // OR nav

我需要帮助显示和隐藏未与导航控制器链接的自定义导航栏。我已初始化导航栏,并且
视图中的
UITapGestureRecognizer
将出现
,并希望使用手势选择器显示和隐藏导航栏。我尝试了许多
navigationController
功能,但由于我没有嵌入任何功能,它们似乎不起作用:

navigationController?.barHideOnTapGestureRecognizer
// OR
navigationController?.hidesBarsOnTap = true
// OR
navigationController?.setNavigationBarHidden(true, animated: true)
我看到:

navigationBar.hidden = true    //OR FALSE

可以更改导航栏的初始外观,但无法按需要切换显示/隐藏。基本上,它只需要模仿苹果的照片应用程序。提前感谢。

一种方法是为自定义导航栏创建一个iAction。在此iAction中设置

navigationBar.hidden = true

取决于当前的隐藏状态

或者如果以编程方式创建元素,则可以尝试使用
UIgestureRecognitor
目标和事件来创建元素

首先,将目标添加到元素中:

gestureRecognizer.addTarget(self, action: "pressed:", forControlEvents: .TouchUpInside)
.addTarget
的action参数中,设置应调用的方法名称

然后编写更改隐藏状态的方法:

func pressed(sender: UIGestureRecognizer!) {
    if navigationBar.hidden = true {
        navigationBar.hidden = false}
    else{
        navigationBar.hidden = true}
}

为什么你不直接使用导航控制器呢?写这篇文章的中途我意识到我应该有另一个,但我已经有了2个,还有一种恼人的链接,可以将对象从一个控制器发送到另一个控制器。Prob更多的工作没有它虽然,谢谢你的投入!这看起来确实可行,但我已经用代码创建了导航栏,所以我没有任何物理工具来创建插座?@bme003好的,然后你用UIGestureRecognitor来捕捉水龙头。我编辑了答案。@bme003如果您觉得答案有用,请标记答案。很抱歉,回复时间太长,您已经出国一周了。
func pressed(sender: UIGestureRecognizer!) {
    if navigationBar.hidden = true {
        navigationBar.hidden = false}
    else{
        navigationBar.hidden = true}
}