我正在尝试重现iOS Safari导航栏的行为,其中导航栏隐藏后会显示标题持有者:
当导航栏完全可见时,它会显示网页的标题文字。
隐藏导航栏时,标题文本仍会显示在屏幕顶部。我不确定这是否是普通导航栏的功能的一部分,或者它是否是定制的。
override func loadView() {
super.loadView()
webView = WKWebView(frame: self.view.frame, configuration: WKWebViewConfiguration())
view = webView!
searchBar = UISearchBar()
searchBar!.delegate = self // just using searchBarSearchButtonClicked()
searchBar!.searchBarStyle = UISearchBarStyle.minimal
searchBar!.showsCancelButton = true
navigationItem.titleView = searchBar
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.isNavigationBarHidden = false
navigationController?.isToolbarHidden = false
navigationController?.hidesBarsOnSwipe = true
}
我对导航栏在此状态下的当前外观感到满意(我很好地显示了URL而不是网页标题)。
然而,当我的导航栏隐藏时,它确实完全隐藏,没有留下任何标题。如何在这里看到标题持有人?
答案 0 :(得分:0)
您可以使用此库:https://github.com/bryankeller/BLKFlexibleHeightBar。但请注意,它不是UINavigationBar子类。因此,如果您需要一些NavigationBar内置功能(例如" Back"按钮等),您需要自己实现它。