基本上,我有一个应用程序,其根控制器是选项卡栏控制器,每个选项卡都需要自己的导航堆栈,但导航栏的外观类似
所以我有
class CommonNavigationController: UINavigationController {
override func viewDidLoad() {
super.viewDidLoad()
navigationBar.barTintColor = .orange
let searchController = UISearchController(searchResultsController: nil)
navigationItem.searchController = searchController
navigationItem.searchController?.searchBar.placeholder = "search"
}
}
,然后是通用导航控制器的两个子类
final class TabTwoNavigationViewController: CommonNavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
final class TabOneNavigationViewController: CommonNavigationController {
override func viewDidLoad() {
super.viewDidLoad()
}
}
和父选项卡栏控制器看起来像这样
final class MainTabBarViewController: UITabBarController {
init() {
super.init(nibName: nil, bundle: nil)
let tabOneNavigationViewController = TabOneNavigationViewController()
let tabOneIcon = UITabBarItem(title: "One", image: UIImage(systemName: "rectangle"), selectedImage: UIImage(systemName: "circle"))
tabOneNavigationViewController.tabBarItem = tabOneIcon
let tabTwoNavigationViewController = TabTwoNavigationViewController()
let tabTwoIcon = UITabBarItem(title: "Two", image: UIImage(systemName: "square"), selectedImage: UIImage(systemName: "circle"))
tabTwoNavigationViewController.tabBarItem = tabTwoIcon
viewControllers = [tabOneNavigationViewController, tabTwoNavigationViewController]
selectedIndex = 1
tabBar.isTranslucent = false
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我到底在做什么错?我无法显示搜索栏!
非常感谢您阅读!