在没有导航控制器的情况下滑动 Web 视图时如何隐藏工具栏?

Posted

技术标签:

【中文标题】在没有导航控制器的情况下滑动 Web 视图时如何隐藏工具栏?【英文标题】:How to hide the toolbar when web view is swiped without a navigation controller? 【发布时间】:2016-10-31 20:39:19 【问题描述】:

我正在使用 XCode 8 和 Swift 3。我似乎找不到答案。

我有一个底部带有工具栏的 webView,我想在滑动 webView 时隐藏工具栏,但 hidesBarsOnSwipe 仅在您有导航控制器时才有效。我没有使用导航控制器。

如果我设置toolBar.isHidden = true,工具栏是隐藏的,但是当用户向上滑动时如何取消隐藏?

【问题讨论】:

【参考方案1】:

试试这个代码e:在 Swift 3 中测试

  @IBOutlet weak var myToolBar: UIToolbar!

  override func viewDidLoad() 
    super.viewDidLoad()
    myToolBar.barTintColor = .red // Set any colour or leave that be.
  

    func hideMyToolBar() 

    UIView.animate(withDuration: 0.7, delay: 0.0, options: UIViewAnimationOptions.curveEaseOut, animations:  

        self.myToolBar.frame = CGRect(x:0, y:self.view.frame.height + self.myToolBar.frame.height, width:self.view.frame.size.width, height: self.myToolBar.frame.height)

    , completion: nil) 
  

   func showMyToolBar() 

    UIView.animate(withDuration: 0.7, delay: 0.0, options: UIViewAnimationOptions.curveEaseIn, animations:  

        self.myToolBar.frame = CGRect(x:0, y:self.view.frame.height - self.myToolBar.frame.height, width:self.view.frame.size.width, height: self.myToolBar.frame.height)

    , completion: nil)  
  

注意:我正在使用按钮操作来隐藏和显示工具栏。您必须实现滑动/点击手势来隐藏和显示工具栏。

输出:

【讨论】:

非常感谢您的宝贵时间和帮助!非常感激!! :)

以上是关于在没有导航控制器的情况下滑动 Web 视图时如何隐藏工具栏?的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 3.0 中实现滑动以在没有导航栏的情况下向后导航

如何在导航视图控制器上滑动时进行即时转换

滑动单元格时,有没有办法从 tableViewCell 导航到另一个视图控制器?

如何在没有动画的情况下弹出到视图控制器

如何在没有状态栏重叠的情况下在 iOS7 上呈现视图控制器

在没有导航控制器的情况下导航到另一个视图控制器