반응형
Swift의 첫 번째 ViewController에서 탐색 막대를 숨기는 방법은 무엇입니까?
첫 번째 ViewController 또는 특정 ViewController에서 탐색 모음을 신속하게 숨기려면 어떻게해야합니까?
나는 다음 코드를 사용했다 viewDidLoad()
:
override func viewDidLoad() {
super.viewDidLoad()
self.navigationController?.isNavigationBarHidden = true
}
또한 viewWillAppear
:
override func viewWillAppear(animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
}
두 방법 모두 탐색 컨트롤러를 모든 ViewController에서 숨 깁니다.
다른 모든보기에 막대가 표시되어야한다는 것을 알고 있으면 viewWillDisappear
다시 표시하도록 설정할 수 있습니다.
스위프트에서 :
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
navigationController?.setNavigationBarHidden(false, animated: animated)
}
스위프트 3
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Hide the navigation bar on the this view controller
self.navigationController?.setNavigationBarHidden(true, animated: animated)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Show the navigation bar on other view controllers
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
당신은 숨기기를 해제 할 수 navigationController
있는viewWillDisappear
override func viewWillDisappear(animated: Bool)
{
super.viewWillDisappear(animated)
self.navigationController?.isNavigationBarHidden = false
}
스위프트 3
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: animated)
}
이를 위해 확장을 만들 수도 있으므로 모든 뷰 컨트롤러에서이 확장을 반복해서 구현하지 않고도 확장을 재사용 할 수 있습니다.
import UIKit
extension UIViewController {
func hideNavigationBar(){
// Hide the navigation bar on the this view controller
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
func showNavigationBar() {
// Show the navigation bar on other view controllers
self.navigationController?.setNavigationBarHidden(false, animated: true)
}
}
따라서 다음과 같이 확장 방법을 사용할 수 있습니다
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
hideNavigationBar()
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
showNavigationBar()
}
Swift 3에서는 isNavigationBarHidden Property를 사용하여 탐색 막대를 표시하거나 숨길 수도 있습니다.
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
// Hide the navigation bar for current view controller
self.navigationController?.isNavigationBarHidden = true;
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
// Show the navigation bar on other view controllers
self.navigationController?.isNavigationBarHidden = false;
}
Swift에서 탐색 표시 줄을 표시하는 방법 :
self.navigationController?.setNavigationBarHidden(false, animated: true)
self.navigationController?.navigationBar.isHidden = false
self.navigationController?.isNavigationBarHidden = false
Swift에서 탐색 막대를 숨기는 방법 :
self.navigationController?.setNavigationBarHidden(true, animated: true)
self.navigationController?.navigationBar.isHidden = true
self.navigationController?.isNavigationBarHidden = true
iOS 8에서는 다음과 같이하십시오.
navigationController?.hidesBarsOnTap = true
그러나 UINavigationController 의 일부인 경우에만
다시 원하면 허위로
위의 변형을 사용하고 다른 NavController에 포함되도록 앱의 섹션을 분리합니다. 이렇게하면 가시성을 재설정 할 필요가 없습니다. 예를 들어 시작 시퀀스에 매우 유용합니다.
private func setupView() {
view.backgroundColor = .white
navigationController?.setNavigationBarHidden(true, animated: false)
}
창 컨트롤러 (Swift3)에서 수행 할 수 있습니다.
class WindowController: NSWindowController {
override func windowDidLoad() {
super.windowDidLoad()
window?.titleVisibility = .hidden
}
}
반응형
'Programing' 카테고리의 다른 글
Pandas 데이터 프레임에서 행 목록을 삭제하는 방법은 무엇입니까? (0) | 2020.04.20 |
---|---|
디렉토리에서 모든 PHP 파일을 포함시키는 방법은 무엇입니까? (0) | 2020.04.20 |
동일한 유형을 포함하는 두 개의 HashMap 객체를 결합하려면 어떻게해야합니까? (0) | 2020.04.20 |
npm ERR cb ()는 호출되지 않았습니다 (0) | 2020.04.20 |
우분투에서 화면이 화면에 나타남 (0) | 2020.04.20 |