let button = UIButton(type: .custom) button.setImage(UIImage(systemName: "cloud.bolt.fill"), for: .normal) button.addTarget(self, action: #selector(scrollToTop(_:)), for: .touchUpInside) self.tabBarController?.navigationItem.titleView = button
๋ฌธ์์ด ๋์ ๋ฒํผ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋ฃ๊ณ ์ถ์ผ๋ฉด ์ ์ฝ๋์ฒ๋ผ titleView
์ ๋์
ํ๋ฉด ๋๋ค.(UIView
๊ฐ์ฒด)
์๋ชป ์๊ณ ์๋ ๋ด์ฉ
์ผ๋ฐ์ ์ผ๋ก ๋ค๋น๊ฒ์ด์
์ปจํธ๋กค๋ฌ๋ง ์ฌ์ฉํ๋ค๋ฉด self.navigationItem
์ ํตํด ์ ๊ทผํ๋ค.
self.tabBarController?.navigationItem
์ผ๋ก ์ ๊ทผํด์ผ ํ๋ค.์ฒ์ SceneDelegate
์์ window
์ ๋ฃจํธ ๋ทฐ ์ปจํธ๋กค๋ฌ๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ฑํ์๋ค.
window?.rootViewController = UINavigationController(rootViewController: ViewController())
ํญ(๋ด๋ถ ๋ทฐ ์ปจํธ๋กค๋ฌ)์ด ํ๋์ผ ๋๋ ๋ฌด์์ด ๋ฌธ์ ์ธ์ง ๋ชฐ๋๋๋ฐ, ๊ฒ์ ํ๋ฉด์ ์ถ๊ฐ ํ๋๊น ๋ฌธ์ ์ ์ด ๋์ ๋ณด์๋ค. ํ์๋ผ์ธ ํ๋ฉด๊ณผ ๊ฒ์ ํ๋ฉด ๋ ๋ค ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ๋๋ฐ, ํญ ๋ฐ ์ปจํธ๋กค๋ฌ(ํ์๋ผ์ธ, ๊ฒ์์ ์์ ๋ทฐ ์ปจํธ๋กค๋ฌ)์์ ๋ค๋น๊ฒ์ด์ ์ปจํธ๋กค๋ฌ๋ฅผ ๊ณต์ ํ๊ณ ์๋ ๊ฒ์ด์๋ค.
๋ค์๊ณผ ๊ฐ์ด ๊ณ ์น๋ ๊ฑธ๋ก ํด๊ฒฐํ๋ค.
window?.rootViewController = ViewController()
class ViewController: UITabBarController { override func viewDidLoad() { super.viewDidLoad() let layout = UICollectionViewFlowLayout() let timelineViewController = UINavigationController(rootViewController: TimelineViewController(collectionViewLayout: layout)) timelineViewController.tabBarItem = UITabBarItem(title: "", image: UIImage(systemName: "house"), selectedImage: UIImage(systemName: "house.fill")) let searchViewController = UINavigationController(rootViewController: SearchViewController()) searchViewController.tabBarItem = UITabBarItem(title: "", image: UIImage(systemName: "magnifyingglass"), selectedImage: UIImage(systemName: "magnifyingglass")) let tabBars = [timelineViewController, searchViewController] viewControllers = tabBars } }
๋๊ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.