我找到了很多关于如何在滚动条上隐藏导航栏的资源,但是我想在开始时隐藏导航栏,然后在开始滚动时出现。就像来自Design + Code app的这个动画:https://imgur.com/a/SqDRD
答案 0 :(得分:1)
您可以使用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
}
}
答案 1 :(得分:1)
使用std::array<int[2][2], 2>
和willBeginDragging
,您可以完成您想要的任务。这里有一个简化版本,你可能需要稍微修改它以获得你想要的效果,但这是一个起点。
didEndDragging