【Swift】 코드로 UITabBarController 구현
7864 단어 XcodeUITabBarControllerSwift
환경
1. 각 탭에 표시할 ViewController 준비
이번에는, 다음의 파일을 신규 작성한다.
· FirstViewController
· SecondViewController
· ThirdViewController
· FourthViewController
탭을 전환할 때 알기 쉽게 각 배경색만 변경해 둔다.
FirstViewControllerimport UIKit
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red
}
}
2. ViewController를 UITabBarController로 설정
MainTabControllerimport UIKit
class MainTabController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
configureViewControllers()
}
func configureViewControllers() {
let first = FirstViewController()
first.tabBarItem = UITabBarItem(title: "Home", image: UIImage(systemName: "house"), selectedImage: nil)
let second = SecondViewController()
second.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(systemName: "message"), selectedImage: nil)
let third = ThirdViewController()
third.tabBarItem = UITabBarItem(title: "Book", image: UIImage(systemName: "book"), selectedImage: nil)
let fourth = FourthViewController()
fourth.tabBarItem = UITabBarItem(title: "Person", image: UIImage(systemName: "person"), selectedImage: nil)
viewControllers = [first, second, third, fourth]
}
}
Storyboard를 사용하지 않는 설정으로 변경
처음에는 Main.storyboard
가 불리기 때문에 수정한다.
import UIKit
class FirstViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .red
}
}
MainTabController
import UIKit
class MainTabController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
configureViewControllers()
}
func configureViewControllers() {
let first = FirstViewController()
first.tabBarItem = UITabBarItem(title: "Home", image: UIImage(systemName: "house"), selectedImage: nil)
let second = SecondViewController()
second.tabBarItem = UITabBarItem(title: "Chat", image: UIImage(systemName: "message"), selectedImage: nil)
let third = ThirdViewController()
third.tabBarItem = UITabBarItem(title: "Book", image: UIImage(systemName: "book"), selectedImage: nil)
let fourth = FourthViewController()
fourth.tabBarItem = UITabBarItem(title: "Person", image: UIImage(systemName: "person"), selectedImage: nil)
viewControllers = [first, second, third, fourth]
}
}
Storyboard를 사용하지 않는 설정으로 변경
처음에는 Main.storyboard
가 불리기 때문에 수정한다.
TARGETS > General > Development Info
의 메인 인터페이스를 비워 둡니다. Information Property List > Application Scene Manifest > Scene Configuration > Application Session Role > Item 0 > Storyboard Name
항목을 삭제합니다. Information Property List > Main storyboard file base name
항목을 삭제합니다. func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
guard let scene = scene as? UIWindowScene else { return }
window = UIWindow(windowScene: scene)
window?.rootViewController = MainTabController()
window?.makeKeyAndVisible()
}
Reference
이 문제에 관하여(【Swift】 코드로 UITabBarController 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tty_0/items/d3f8c2be962a6e2774a9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)