【问题标题】:How to hide on swipe programmatically in Swift如何在 Swift 中以编程方式隐藏滑动
【发布时间】:2015-12-21 05:46:10
【问题描述】:

如何以编程方式实现滑动时隐藏?我不想使用属性菜单中的Hide Bars on swipe 选项的原因是我遇到了一个问题。启用后,如果用户向下滚动内容视图,应用程序将隐藏导航栏以及工具栏,并且当用户向上滑动时,导航栏将出现。我不希望此更改应用于整个应用程序的所有导航栏。我希望能够只隐藏一个导航栏。我确实尝试过,我将hidesBarsOnSwipe 属性设置为true,如下面的代码所示 navigationController?.hideBarsOnSwipe = true 但我遇到了其他问题,我尝试将我的代码放在 ViewControllers 中的 viewDidLoad 方法之上,在该方法将启用此功能,并且我将属性设置为 false 上我不希望此功能成为启用。

我的问题:使用false 属性导航回视图控制器后,我无法隐藏导航栏

我不明白我做错了什么,有什么建议吗?

【问题讨论】:

  • 以编程方式向目标视图添加滑动手势,并在其委托方法中隐藏您想要隐藏的内容

标签: ios xcode swift ios9


【解决方案1】:

不要将您的代码放在viewDidLoad() 中,而是将它放在viewWillAppear() 中——这样可以确保每次您的视图控制器出现在屏幕上时都会调用它,因为对于导航控制器,viewDidLoad() 方法并不总是被调用视图控制器被弹出。还要确保在每个视图控制器的viewWillAppear() 中明确提及每个视图控制器的首选设置——即navigationController?.hideBarsOnSwipe

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    斯威夫特 4

    navigationController?.hidesBarsOnSwipe = false
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-16
      • 2016-12-21
      • 2011-08-10
      • 2011-09-04
      • 1970-01-01
      相关资源
      最近更新 更多