невозможно отобразить панель поиска в контроллерах навигации, вложенных в контроллер панели вкладок - PullRequest
0 голосов
/ 16 февраля 2020

В основном у меня есть приложение с контроллером root, являющимся контроллером панели вкладок, каждая вкладка нуждается в отдельном стеке навигации, но с похожим интерфейсом для панели навигации

, поэтому я имею

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")
    }
}

что чёрт, я не так делаю? Я не могу отобразить панель поиска!

Большое спасибо за чтение!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...