뷰 컨트롤러의 종류에는 Navigation Controller, Table View Controller, Tab Bar Controller, Split View Controller(Master-Detail) 등이 있습니다.
그 중 탭바(TabBar)는 여러개의 뷰를 보여줄 수 있도록 하는 대표적인 컨트롤러 입니다.
1. 프로젝트 생성 후 위의 메뉴에서 Editor - Embed in - Tab Bar Controller를 선택합니다.
그러면 자동으로 탭바 컨트롤러가 생성됩니다.
2. 컴포넌트 객체에서 뷰 컨트롤러를 하나 끌어다 놓고 Tab Bar Controller에서
오른쪽 클릭으로 드래그(혹은 ctrl + 드래그)로
새로운 뷰 컨트롤러에 끌어다 놓고,
RelationShip Segue에서 view Controlles를 눌러 세그웨이를 연결해 줍니다.
3. 탭바의 아이콘을 원하는 아이콘으로 변경하기 위해서는
아이템을 변경하고 싶은 view Controller(Tab Bar Controller 아님!)의 탭바의
attributes inspector에 아이콘을 설정 해주면 됩니다.
기본으로 제공되는 아이콘은 System Item에 있으며, 사용자가 원하는 이미지는
Bar Item 섹션의 Image에서 선택해주면 됩니다.
사용자가 원하는 이미지 만들기
App Store에서 Icon Maker를 다운받습니다.
원하는 이미지를 드래그하여 올려 놓고 resize에서 아이폰을 선택하면 자동으로 이미지셋을 만들어 줍니다.
해당 이미지셋에서 Icon-Small@2x.png, Icon-Small@3x.png 을 프로젝트 내의 Assets.xcassets에 드래그하여 복사합니다.
여기서 생성된 이미지셋은 크기에 맞추어 앱의 아이콘, 앱 내의 이미지들에 활용됩니다.
4. 앱을 실행시켜보면 탭바의 이미지가 잘 나오는 것을 확인 할 수 있습니다.
추가적으로 버튼으로 탭을 변경하는 방법에 대해 마지막으로 소개하고 정리를 마치겠습니다.
5. 우선 첫번째 뷰 컨트롤러에 버튼을 하나 만들어 추가합니다. 더블 클릭하여 적당히 버튼의 이름을 변경해주고, 오른쪽클릭 드래그하여 viewContorller에 Action함수를 추가해줍니다.
6. 생성된 Action함수 안에 다음과 같은 코드를 추가해 줍니다.
tabBarController는 맨 처음 Embed In으로 생성된 컨트롤러를 말하며, 해당 컨트롤러에는 selectedIndex 메서드가 정의되어 있습니다.
selectedIndex는 0부터 시작하므로 두번째 탭에 있는 Licence탭은 1번의 번호를 갖게 됩니다.
이상으로 Tab Bar Controller를 이용한 화면(뷰)전환을 정리해보았습니다.
해당 코드는 github에 올려 놓겠습니다. 깃허브가기
'iOS' 카테고리의 다른 글
NavigationController이용 (0) | 2018.04.20 |
---|---|
색 지정 방법 (0) | 2018.04.16 |
맵뷰(MapView)- 핀(어노테이션) 띄우기 (0) | 2018.04.14 |
맵뷰(MapView)이용하기 (0) | 2018.04.14 |
PickerView이용하기 (0) | 2018.04.12 |