스토리보드로 텝바 컨트롤러를 만들어보자
그냥 라이브러리에서 텝바 컨트롤러 가져오면 된다
처음은 2개의 뷰가있다
뷰를 추가해보자
viewController 가져오고 TabBarController 와 연결해준다

TabBar item도 추가해주자

그리고 처음에 ViewController를 지우고 새롭게 TabBarController 만들었기 때문에 class 를 바꿔주고 다시 연결해줘야 한다.

4개의 뷰를 가진 텝바컨트롤러
이제 스토리보드 없이 만들어보자
앞서 했던 sceneDelegate 기본셋팅을 하고 스토리보드도 삭제해준다.
MyViewController 에서 다음같이 코드를 작성했다
class MyViewController: UIViewController {
convenience init(title : String, bgColor : UIColor) {
self.init()
self.title = title
self.view.backgroundColor = bgColor
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
}
convenience init 을 몰라서 알아보았다.
보조 이니셜라이저(특정 타입의 인스턴스 생성)라고 한다.
그래서 convenience init 사용하려면 Designated init 이 선언되어야 한다고 한다.
그리고 MainTabBarController 를 만들었다
class MainTabBarController : UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
print("MainTabBarController - viewDidLode() called")
let firstNC = UINavigationController.init(rootViewController: MyViewController(title: "첫번째", bgColor: UIColor.blue))
let SecondNC = UINavigationController.init(rootViewController: MyViewController(title: "두번째", bgColor: UIColor.red))
let thridNC = UINavigationController.init(rootViewController: MyViewController(title: "세번째", bgColor: UIColor.yellow))
let forthNC = UINavigationController.init(rootViewController: MyViewController(title: "네번째", bgColor: UIColor.white))
let fifthNC = UINavigationController.init(rootViewController: MyViewController(title: "다섯번째", bgColor: UIColor.purple))
//위에 정의한거 하나씩 넣어줌
self.viewControllers = [firstNC, SecondNC, thridNC, forthNC, fifthNC]
// 템바 항목 만들어주기
//systemName 자체로 제공한는 이미지 사용가능
let firstTabBarItem = UITabBarItem(title: "첫번째", image: UIImage(systemName: "airplayaudio"), tag: 0)
let SecondTabBarItem = UITabBarItem(title: "두번째", image: UIImage(systemName: "airplayaudio"), tag: 1)
let thridTabBarItem = UITabBarItem(title: "세번째", image: UIImage(systemName: "airplayaudio"), tag: 2)
let forthTabBarItem = UITabBarItem(title: "네번째", image: UIImage(systemName: "airplayaudio"), tag: 3)
let fifthTabBarItem = UITabBarItem(title: "다섯번째", image: UIImage(systemName: "airplayaudio"), tag: 4)
// 만들어준 템바 아이템 설정
firstNC.tabBarItem = firstTabBarItem
SecondNC.tabBarItem = SecondTabBarItem
thridNC.tabBarItem = thridTabBarItem
forthNC.tabBarItem = forthTabBarItem
fifthNC.tabBarItem = fifthTabBarItem
}
}
'iOS > UIKit' 카테고리의 다른 글
| iOS - 프로젝트세팅, SceneDelegagte (0) | 2022.06.30 |
|---|---|
| iOS - 컴플레션 블럭 (0) | 2022.06.28 |
| iOS - 스택자료구조 (0) | 2022.06.28 |