(Xcode / Swift)在向下滚动UIWebView时如何隐藏工具栏?

时间:2015-08-05 05:07:38

标签: xcode swift uiwebview toolbar uitoolbar

我的 ViewController 中有 UIWebView ,我的 ViewController 中嵌入了导航控制器。在我的导航控制器中,我选择了"显示工具栏" "在刷卡上隐藏栏" ,但工具栏没有隐藏。仅当使用工具栏选择"显示导航栏" 时,它才有效。

当向下滚动 UIWebView 时,是否有工具栏隐藏在屏幕上?

先谢谢你。

1 个答案:

答案 0 :(得分:13)

您可以使用UIScrollViewDelegate

以下是隐藏导航栏和带滚动的工具栏的示例代码:

import UIKit

class ViewController: UIViewController, UIScrollViewDelegate {

    @IBOutlet weak var toolBar: UIToolbar!
    @IBOutlet weak var webV: UIWebView!
    var lastOffsetY :CGFloat = 0
    override func viewDidLoad() {
        super.viewDidLoad()

        webV.scrollView.delegate = self
        let url = "http://apple.com"
        let requestURL = NSURL(string:url)
        let request = NSURLRequest(URL: requestURL!)
        webV.loadRequest(request)
    }

    //Delegate Methods
    func scrollViewWillBeginDragging(scrollView: UIScrollView){
        lastOffsetY = scrollView.contentOffset.y
    }

    func scrollViewWillBeginDecelerating(scrollView: UIScrollView){

        let hide = scrollView.contentOffset.y > self.lastOffsetY
        self.navigationController?.setNavigationBarHidden(hide, animated: true)
        toolBar.hidden = hide
    }
}