내 검색바 어디갓는교..
분명 SearchController로 상단 네비게이션을 만들어줬는데.. 사라졌다!
초기에 sceneDelegate에서 NavigationController를 설정해줌
func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let windowScene = (scene as? UIWindowScene) else { return }
window = UIWindow(windowScene: windowScene)
// MovieNetwork 초기화
let movieNetwork = MovieNetwork(network: Network<MovieListModel>(endPoint: "https://api.themoviedb.org/3"))
let tabBarVC = BottomTabbarViewController(movieNetwork: movieNetwork)
let navigationController = UINavigationController(rootViewController: tabBarVC)
// UINavigationController를 루트로 설정
window?.rootViewController = navigationController
window?.makeKeyAndVisible()
}
문제점!
TabBar 화면을 하나의 Navigation으로 감싸는 것이 문제였다!
SceneDelegate의 구조: NavigationController └── TabBarController ├── Tab1 ├── Tab2 └── Tab3
func setupTabBarItem() {
let homeVC = HomeViewController(movieNetwork: movieNetwork)
let homeNavVC = UINavigationController(rootViewController: homeVC) // 네비게이션 컨트롤러 추가
homeNavVC.tabBarItem = UITabBarItem(title: "Home",
image: UIImage(named: "icHomeOff"),
selectedImage: UIImage(named: "icHomeOff"))
let movieSearchVC = MovieSearchViewController()
let searchNavVC = UINavigationController(rootViewController: movieSearchVC)
searchNavVC.tabBarItem = UITabBarItem(title: "Search",
image: UIImage(named: "icSearchOff"),
selectedImage: UIImage(named: "icSearchOff"))
let myPageVC = MyPageViewController()
let myPageNavVC = UINavigationController(rootViewController: myPageVC)
myPageNavVC.tabBarItem = UITabBarItem(title: "My",
image: UIImage(named: "icMyOff"),
selectedImage: UIImage(named: "icMyOff"))
viewControllers = [homeNavVC, searchNavVC, myPageNavVC]
}
TabBar를 지정하는 코드에서 ViewController마다 UINavigationController를 지정해준다!!
NavigationController (루트) └── TabBarController ├── NavigationController1 │ └── Tab1 ├── NavigationController2 │ └── Tab2 (SearchVC) └── NavigationController3 └── Tab3
야호 재등장!
저는 제 멘탈 실종 이슈에요 .. 재등장 했다니 역시 믿고 있었닥우 !