Search
Duplicate

Navigation Bar & Tap Bar (code)

์ƒ์„ฑ์ผ
2023/07/05 01:36
ํƒœ๊ทธ
Item

Navigation Bar & Tap Bar (code)

import UIKit class LoginViewController: UIViewController { // ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ private lazy var nextButton: UIButton = { let button = UIButton(type: .custom) button.backgroundColor = .blue button.setTitle("Login", for: .normal) button.setTitleColor(.white, for: .normal) button.titleLabel?.font = .systemFont(ofSize: 20, weight: .bold) button.translatesAutoresizingMaskIntoConstraints = false button.addTarget(self, action: #selector(nextButtonTapped), for: .touchUpInside) return button }() // ๊ตณ์ด ๋ทฐ๋ฅผ ๋”ฐ๋กœ ๋งŒ๋“ค์ง€ ์•Š์•˜์Œ (MVCํŒจํ„ด์œผ๋กœ ๋งŒ๋“ค์ง€ ์•Š์•˜์Œ) override func viewDidLoad() { super.viewDidLoad() makeUI() } // UI์„ค์ •ํ•˜๋Š” ์ฝ”๋“œ, ๋ฒ„ํŠผ์˜ ์˜คํ† ๋ ˆ์ด์•„์›ƒ func makeUI() { view.addSubview(nextButton) NSLayoutConstraint.activate([ nextButton.widthAnchor.constraint(equalToConstant: 120), nextButton.heightAnchor.constraint(equalToConstant: 45), nextButton.centerXAnchor.constraint(equalTo: view.centerXAnchor), nextButton.centerYAnchor.constraint(equalTo: view.centerYAnchor) ]) } // ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋™์ž‘ํ•˜๋Š” ์ฝ”๋“œ ===> ์ฝ”๋“œ๋กœ ํƒญ๋ฐ” + ๋„ค๋น„๊ฒŒ์ด์…˜๋ฐ” ์„ค์ • @objc func nextButtonTapped() { // ํƒญ๋ฐ”์ปจํŠธ๋กค๋Ÿฌ์˜ ์ƒ์„ฑ let tabBarVC = UITabBarController() // ์ฒซ๋ฒˆ์งธ ํ™”๋ฉด์€ ๋„ค๋น„๊ฒŒ์ด์…˜์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋งŒ๋“ค๊ธฐ (๊ธฐ๋ณธ๋ฃจํŠธ๋ทฐ ์„ค์ •) let vc1 = UINavigationController(rootViewController: FirstViewController()) let vc2 = SecondViewController() let vc3 = ThirdViewController() let vc4 = FourthViewController() let vc5 = FifthViewController() // ํƒญ๋ฐ” ์ด๋ฆ„๋“ค ์„ค์ • vc1.title = "Main" vc2.title = "Search" vc3.title = "Post" vc4.title = "Likes" vc5.title = "Me" // ํƒญ๋ฐ”๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๋ทฐ ์ปจํŠธ๋กค๋Ÿฌ๋“ค ์„ค์ • tabBarVC.setViewControllers([vc1, vc2, vc3, vc4, vc5], animated: false) tabBarVC.modalPresentationStyle = .fullScreen tabBarVC.tabBar.backgroundColor = .white // ํƒญ๋ฐ” ์ด๋ฏธ์ง€ ์„ค์ • (์ด๋ฏธ์ง€๋Š” ์• ํ”Œ์ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์‚ฌ์šฉ) guard let items = tabBarVC.tabBar.items else { return } items[0].image = UIImage(systemName: "square.and.arrow.up") items[1].image = UIImage(systemName: "folder") items[2].image = UIImage(systemName: "paperplane") items[3].image = UIImage(systemName: "doc") items[4].image = UIImage(systemName: "note") // ํ”„๋ฆฌ์  ํŠธ๋กœ ํƒญ๋ฐ”๋ฅผ ๋„์šฐ๊ธฐ present(tabBarVC, animated: true, completion: nil) } }
Swift
๋ณต์‚ฌ