- 한 storyboard 안에 여러 개 tabbar 를 넣으면 너무 복잡해지므로 storyboard reference 를 사용해 깔끔하게 분리해보자 ❗️
- 원하는 storyboard reference 를 선택한 후 Tab Bar Controller 선택
- 확인
- 참조한 storyboard 의 viewcontroller 에 tabbar item 추가
- tabbar item 클릭 후 원하는 title 과 image 설정
- 확인
- default tabbar viewcontroller 의 viewDidLoad 에 작성
// tab bar item 의 title 설정
if let downcastStrings = self.tabBarController?.tabBar.items
{
downcastStrings[0].title = "탭1"
downcastStrings[1].title = "탭2"
downcastStrings[2].title = "탭3"
downcastStrings[3].title = "탭4"
}
// tab bar item image 설정
self.tabBarController?.tabBar.items![0].image = UIImage(named: "tabIc01")
self.tabBarController?.tabBar.items![1].image = UIImage(named: "tabIc02")
self.tabBarController?.tabBar.items![2].image = UIImage(named: "tabIc03")
self.tabBarController?.tabBar.items![3].image = UIImage(named: "tabIc04")
// tab bar color 설정
self.tabBarController?.tabBar.selectedImageTintColor = UIColor.marigold
- 앱잼할 때는 코드로 작성했는데 storyboard 내에서 설정하는 것도 좋은 방법인 것 같다
- storyboard reference 를 사용해 tabbar 를 만들면 원하는 순서대로 탭의 위치를 바꿔야 할 때가 있다.
- 그럴 땐 Visual Studio 를 사용하자
<!--Tab Bar Controller-->
<scene sceneID="X4a-w9-NzN">
<objects>
<tabBarController automaticallyAdjustsScrollViewInsets="NO" id="G2i-rX-UXN" sceneMemberID="viewController">
<toolbarItems/>
<tabBar key="tabBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="Lzy-1U-PPN">
<autoresizingMask key="autoresizingMask"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tabBar>
<connections>
<segue destination="Fpb-GR-x11" kind="relationship" relationship="viewControllers" id="FDh-dC-TNe"/>
<segue destination="fAv-Ku-UQZ" kind="relationship" relationship="viewControllers" id="cSR-d1-yky"/>
</connections>
</tabBarController>
<placeholder placeholderIdentifier="IBFirstResponder" id="OWN-1M-DxP" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="188.40579710144928" y="591.96428571428567"/>
</scene>
- iOS 프로젝트를 Visual Studio 로 연다.
- TabBarController 내의 segue 순서를 바꿔준다.
<connections>
<segue destination="Fpb-GR-x11" kind="relationship" relationship="viewControllers" id="FDh-dC-TNe"/>
<segue destination="fAv-Ku-UQZ" kind="relationship" relationship="viewControllers" id="cSR-d1-yky"/>
</connections>
👆 이 부분!!
추가 : 굳이 visual studio 로 열 필요 없이 storyboard 우클릭 -> Open As -> Source Code 를 클릭해도 무방하다.