안녕하세요! 이번 포스팅에서는 iOS 개발을 하다 보면 반드시 마주치게 되는 'Tab Bar Controller'에 대해 이야기해보려고 합니다.
Tab Bar Controller란?
Tab Bar Controller는 사용자가 여러 뷰 컨트롤러 사이에서 전환할 수 있도록 하는 역할을 합니다. 보통 화면 하단에 위치하며, 여러 개의 탭 버튼으로 구성되어 있습니다.
각 탭 버튼은 고유한 뷰 컨트롤러에 연결되어 있으며, 사용자가 탭 버튼을 선택하면 해당 뷰 컨트롤러의 내용이 화면에 표시됩니다. 이를 통해 사용자는 앱 내에서 다양한 기능을 쉽게 이용할 수 있게 됩니다.
Storyboard에서 Tab Bar Controller 사용법
우선, Storyboard에 Tab Bar Controller를 추가합니다. Object Library에서 'Tab Bar Controller'를 검색하고, 원하는 위치에 드래그하여 추가합니다.
추가된 Tab Bar Controller는 기본적으로 두 개의 뷰 컨트롤러를 가지고 있습니다. 이를 원하는 대로 커스터마이징할 수 있습니다.
새로운 뷰 컨트롤러를 추가하려면, 'Tab Bar Controller'를 선택하고, Editor 메뉴의 'Embed In'을 선택 후, 'Navigation Controller'를 선택합니다.
뷰 컨트롤러를 선택하고 Control 키를 누른 채로 Tab Bar Controller로 드래그합니다. 그런 다음 'Relationship Segue - view controllers'를 선택하면 뷰 컨트롤러가 Tab Bar Controller에 추가됩니다.
각 탭에 대한 아이콘과 제목은 'Tab Bar Item'의 Attributes Inspector에서 설정할 수 있습니다.
저는 이렇게 추가했습니다.
View Controller와 Tab Bar Controller 연결
자 먼저 Shift + Command + L을 눌러서 View Controller를 화면에 추가하고 새로 만든 View Controller와 Tab Bar Controller를 연결 해주도록 하겠습니다.
연결하는 방법은 Tab Var Controller에서 새로 만든 View Controller로 Control키를 누르면서 드래그를 하고 버튼을 떼면 나타나는 검은 창에서 RelationShip Segue - view controllers를 선택해주면 됩니다.
연결이 완료되면 세그웨이가 생기게 됩니다.
비디오 재생 기능 넣기
저는 새로 만든 Tab Bar Controller를 누르면 비디오가 재생되도록 기능을 추가해보겠습니다.
왼쪽 하단에서 + 버튼을 눌러주고 New file을 선택합니다.
여기에서 Cocoa Touch Class를 선택해주고
부모 클래스의 이름을 VideoViewController로 짓고 Next버튼을 누르고 Create를 눌러서 생성해주면 됩니다.
그리고 소스 상단에 import AVKit을 추가해주세요!
재생하고 싶은 mp4 파일을 프로젝트에 드래그 앤 드롭으로 복사해주고
Destination과 Add to targets를 체크하고 Finish 버튼을 눌러줍니다.
그리고 Video Scene 스토리보드와 VideoViewController 클래스를 연결해주고 Video Scene에 재생할 버튼을 추가해준 뒤 버튼을 소스와 연결해주는데 이때 버튼은 Action으로 설정하고 Type은 UIButton으로 설정해주면 됩니다.
소스는 이렇게 작성해주시면 됩니다.
*forResource: 뒤에 " " 안에 들어갈 글자는 본인이 넣은 mp4파일의 이름으로 해주셔야 합니다!!
실행
이제 실행해보면 추가한 버튼을 누르면 영상이 재생되는 것을 확인할 수 있습니다.
마무리
Tab Bar Controller를 활용하면 앱의 복잡성을 줄이고 사용자의 편의성을 높일 수 있습니다. 여러 개의 뷰 컨트롤러를 한 화면에서 쉽게 관리할 수 있기 때문에, 앱의 구조를 명확하게 파악하고 관리할 수 있습니다.
또한, Tab Bar Controller는 사용자에게 직관적인 탐색을 제공합니다. 따라서 사용자는 앱의 다양한 기능들을 쉽게 이용할 수 있습니다.
감사합니다.
틀린 부분이 있거나 더 좋은 내용 훈수 환영합니다!
공감과 댓글 부탁드립니다.
'Apple > iOS' 카테고리의 다른 글
[iOS] 화면 전환 방식 (Present, NavigationController + Source, NavigationController + Segue) (0) | 2024.03.24 |
---|---|
[iOS] AutoLayout 쉽게 이해하기 (0) | 2023.12.30 |
[iOS] 세그먼트 컨트롤 디자인 (0) | 2023.12.01 |
[iOS] 아이폰 BMI 앱 제작하기 (2) | 2023.11.23 |
[iOS] BMI 계산 소스와 판정 소스 (2) | 2023.11.20 |