탭바 전체에 적용되는 배경이미지. 만약 신축성 속성이 있는 이미지이면 탭바는 적용 가능한 공간 전체가 채워질수 있도록 이미지 늘림. 신축성 속성 없으면 이미지를 타일형태로 반복처리.
현재 이탭이 선택되어 있음을 알려주는 이미지.
self.tabBarController?.tabbar.items?[0]
self.tabBarItem.Image
위 두가지 방식으로 탭바 아이템에 접근할수 있다.
1번째 방식은 탭바 컨트롤러> 탭 바를 통해 인덱스 번호를 통해 그 탭바아이템에 접근할수 있다.
2번째 방법은 현재 뷰 컨트롤러에 지정된 탭바 아이템만 접근 가능하다.
할당된 이미지가 배경 영역보다 작을때 그만큼 반복배치된다. 만약 늘리고 싶으면 strectchableImage 메소드 사용.
탭바를 단일색상으로 채우는역할인데 backgroundColor는 원하는 색상이 종종에러난다.
backgroundImage는 원하는 이미지 늘리거나 패턴처리등 옵션 다양하지만 BarTintColor는 패턴처리된 이미지를 사용할뿐이지 신축성 옵션X
BackgroundImage 탭바 영역 벗어나도 배경이미지 모두 표시. barTintColor는 탭바 영역내에서만 이미지 표현.
==> 이미지 수정하면 안되거나 이미지 크기 알수없을때는 barTintColor로 하자.
외형 프록시 객체: 화면요소별 속성을 공통으로 적용할 수 있는 객체.
==> 외형 프록시 객체에 속성 설정해두면 ,해당 타입으로 생성된 모든객체 해당 속성 적용. for문돌면서 관찰했던 것을 할필요 X
UITabBar.appearance() //탭바의 외형 프록시 객체
UITabBarItem.appearance() //탭 바아이템의 외형 프록시 객체.
let tbc = UITabBarContorller()
tbc.view.backgroundColor = .white
self.window?.rootviewController = tbc
//여기까지가 탭바 컨트롤러 생성하고 루트뷰 컨트롤러로 등록.
let view1=ViewController()
let view2=SecondViewController()
let view3=ThirdViewController()
tbc.setViewControllers([view1,view2,view3],animated:false)
//뷰를 3개 생성하고 탭바컨트롤러에 등록.
...각 탭바 아이템 속성 설정../