我的 ViewController 中有 UIWebView ,我的 ViewController 中嵌入了导航控制器。在我的导航控制器中,我选择了"显示工具栏" 和"在刷卡上隐藏栏" ,但工具栏没有隐藏。仅当使用工具栏选择"显示导航栏" 时,它才有效。
当向下滚动 UIWebView 时,是否有工具栏隐藏在屏幕上?
先谢谢你。
答案 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
}
}