기능개선 #13675
[KOLON TALK] 동일 탭바 선택 시 해당 탭의 화면에 존재하는 탭이 이동되는 등의 기 구현 된 코드 구조 변경(iOS)
100%
설명
기존 코드 구조는 각 탭이 선택되어 화면이 보여질 때 해당 ViewController에서 UITabBarViewControllerDelegate를 채택하고, self.delegate 에 넣어주고 있음.
UIViewController에서 해당 delegate를 채택해서 shouldSelect 와 같은 오버라이딩 함수를 사용한 후 탭이 눌린 것을 인지해서 탭 이동등의 기능을 적용한 것으로 보임.
이럴 경우 실제 하단 탭을 가지고 있는 MainViewController 에서 탭을 관리할 수 없는 문제가 생김.
(MainViewController 에서 shouldSelect와 같은 API 를 구현해도 delegate를 자식 ViewController에서 재할당 해 버리는 문제로 호출이 안됨)
TabBar을 가지고 있는 MainViewController 에서 탭이 선택된 것을 인지한 후, 현재 보여지고 있는 ViewController 로 탭이 눌렸음을 알려주도록 변경 개발 필요.
화면 업데이트 기능 개발 시 특정 탭이 선택 됐을 때 해당 탭으로 진입하지 않아야 하는 기능을 개발하기 위해서는 MainViewController 에서 탭이 눌렸음을 인지하고 이동할 것인지 판단해야 함.
이력
#2 조경천이(가) 약 2달 전에 변경
- 상태을(를) 신규에서 해결(으)로 변경되었습니다.
- 담당자을(를) 조경천에서 정인명(으)로 변경되었습니다.
- 진척도을(를) 0에서 100(으)로 변경되었습니다.
탭을 관리하는 주체는 MainViewController가 수행.
탭 선택 시 업데이트 해야하는지 체크하는 것과 탭 이동을 할 것인지 판단하는 것은 shouldSelect 에서 처리.
탭이 눌려져 있는 상태에서 동일 탭이 다시 눌릴때 하위 ViewController 의 탭 이동처리 등은 하위 ViewController로 탭이 눌렸음을 알려주도록 변경.