Nik*_*unj 2 multithreading uinavigationbar navigationbar ios swift
我只想隐藏一个视图控制器的导航栏,该视图控制器是 UINavigationController 的根视图控制器。
目前我正在使用下面的代码来隐藏特定视图控制器的导航栏。
override func viewWillAppear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = true
super.viewWillAppear(animated)
}
Run Code Online (Sandbox Code Playgroud)
override func viewWillDisappear(_ animated: Bool) {
self.navigationController?.isNavigationBarHidden = false
super.viewWillDisappear(animated)
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用此代码时,应用程序在 iOS 13 设备中崩溃,因为线程冲突:预期主线程。
请检查我使用上面的代码隐藏导航栏时遇到的问题,
请告诉我是否有其他方法可以仅隐藏一个视图控制器的导航栏。
Nik*_*unj 10
我从我的一位朋友那里得到了另一种隐藏/显示导航栏的方法。
navigationController.delegate = self
Run Code Online (Sandbox Code Playgroud)
func navigationController(_ navigationController: UINavigationController, willShow viewController: UIViewController, animated: Bool) {
let hide = (viewController is YourVC)
navigationController.setNavigationBarHidden(hide, animated: animated)
}
Run Code Online (Sandbox Code Playgroud)
小智 6
import UIKit
class ViewController: UIViewController {
override func viewWillAppear(_ animated: Bool){
super.viewWillAppear(animated)
self.navigationController?.isNavigationBarHidden = true
}
override func viewWillDisappear(_ animated: Bool){
super.viewWillDisappear(animated)
self.navigationController?.isNavigationBarHidden = false
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
3115 次 |
| 最近记录: |