Adi*_*rma 25 statusbar navbar swift
当我点击iphone中的照片等设备时,如何隐藏状态栏和导航栏?我曾经用过
UIApplication.sharedApplication().setStatusBarHidden(false, withAnimation: UIStatusBarAnimation.Slide)
Run Code Online (Sandbox Code Playgroud)
但它不起作用.
编辑:我想隐藏并显示状态栏和导航栏,而不是永久隐藏它.
Ima*_*tit 114
使用Swift 4和iOS 11,根据您的需要,您可以选择以下三个代码段中的一个来解决您的问题.
UINavigationController hidesBarsOnTap属性+ UIViewController prefersStatusBarHidden和preferredStatusBarUpdateAnimation属性自iOS 8起,UINavigationController就拥有了一个hidesBarsOnTap属性.hidesBarsOnTap有以下声明:
var hidesBarsOnTap: Bool { get set }
Run Code Online (Sandbox Code Playgroud)
一个布尔值,指示导航控制器是否允许使用轻击手势隐藏其条形图.
Apple还声明hidesBarsOnTap:
当此属性的值为时
true,导航控制器切换其导航栏和工具栏的隐藏和显示,以响应内容区域中的其他未处理的点击.此属性的默认值为false.
以下代码显示了如何实现hidesBarsOnTap:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
navigationController?.hidesBarsOnTap = true
}
override var prefersStatusBarHidden: Bool {
return navigationController?.isNavigationBarHidden == true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return UIStatusBarAnimation.slide
}
}
Run Code Online (Sandbox Code Playgroud)
UINavigationController setNavigationBarHidden(_:animated:)方法+ UIViewController prefersStatusBarHidden和preferredStatusBarUpdateAnimation属性UIButtonUINavigationController有一个叫做的方法setNavigationBarHidden(_:animated:).setNavigationBarHidden(_:animated:)有以下声明:
func setNavigationBarHidden(_ hidden: Bool, animated: Bool)
Run Code Online (Sandbox Code Playgroud)
设置是否隐藏导航栏.
以下代码显示如何通过使用Storyboard中setNavigationBarHidden(_:animated:)的UIButton集合并链接到以下内容来切换状态栏和导航栏@IBAction:
import UIKit
class ViewController: UIViewController {
// Link this @IBAction to a `UIButton`
@IBAction func toggle(_ sender: UIButton) {
navigationController?.setNavigationBarHidden(navigationController?.isNavigationBarHidden == false, animated: true)
}
override var prefersStatusBarHidden: Bool {
return navigationController?.isNavigationBarHidden == true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return UIStatusBarAnimation.slide
}
}
Run Code Online (Sandbox Code Playgroud)
UINavigationController setNavigationBarHidden(_:animated:)方法+ UIViewController prefersStatusBarHidden和preferredStatusBarUpdateAnimation属性UIGestureRecognizer作为一种替代以前的代码,你可以使用setNavigationBarHidden(_:animated:)一个UIGestureRecognizer替代的UIButton:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let gesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.toggle))
view.isUserInteractionEnabled = true
view.addGestureRecognizer(gesture)
}
@objc func toggle() {
navigationController?.setNavigationBarHidden(navigationController?.isNavigationBarHidden == false, animated: true)
}
override var prefersStatusBarHidden: Bool {
return navigationController?.isNavigationBarHidden == true
}
override var preferredStatusBarUpdateAnimation: UIStatusBarAnimation {
return UIStatusBarAnimation.slide
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要定位iOS 10,请参阅此答案以获取类似问题.
| 归档时间: |
|
| 查看次数: |
41078 次 |
| 最近记录: |