프로젝트 소개

CYLTabBarController는 iOS용 TabBar 컴포넌트 라이브러리로, 주로 커스텀 하단 내비게이션 바 구축 문제를 해결합니다. UIButton이나 UIView로 흉내 내는 것이 아니라 시스템 네이티브 UITabBar와 UITabBarItem을 기반으로 구현되었기 때문에 시스템 외관 API와 push 전환 효과를 사용할 때 시스템 동작에 더 가깝습니다. 주요 기능: - 한 줄의 코드로 Lottie 애니메이션 TabBar를 연동하며, TabBar 항목과 아이콘에 애니메이션을 추가할 수 있습니다. - 가운데에 플러스(+) 버튼이 있는 TabBar 스타일을 지원하며, 플러스 버튼의 스타일과 frame은 별도의 CYLPlusButton 서브클래스에서 구현되므로 해당 클래스를 삭제하면 이 기능을 완전히 제거할 수 있습니다. - 플러스 버튼 필요 여부를 자동 감지하고 자동 정렬하며, 플러스 버튼의 동적 추가/삭제와 스타일 동적 새로고침을 지원합니다. - 빨간 점 배지를 내장하고 있으며 사용자 정의 배지 View를 지원합니다. - TabBarItem이 아이콘만 표시되고 수직으로 중앙 정렬되도록 지원하며, TabBar 높이 사용자 정의를 지원합니다. - 다중 TabBar 중첩과 PlusButton 위치 지정을 지원하며, 가로/세로 화면을 지원합니다. - 플러스 버튼이 TabBar 영역을 벗어날 때 벗어난 부분도 클릭에 반응합니다. 최근 버전에서는 iOS 26 / iOS 27을 대상으로 리퀴드 글래스(Liquid Glass)와 플랫 디자인 스타일 지원이 추가되었습니다. Lottie 애니메이션과 리퀴드 글래스 효과를 동시에 표시할 수 있고, 플러스 버튼을 리퀴드 글래스 효과 위에 중앙 표시할 수 있습니다. 실행 중에 두 스타일 간 전환을 지원하여 그레이스케일 또는 A/B 테스트에 용이합니다. 플랫 스타일은 독립 컴포넌트로 플러그인 방식으로 통합되며 API는 리퀴드 글래스 스타일과 공유됩니다. README는 리퀴드 글래스 구현에 비공개 API를 사용하지 않았다고 밝히고 있으며, 업그레이드 대응 코드 변경량이 적다고 설명합니다. 통합 방식: CocoaPods를 통해 도입하며, README는 네 단계 절차를 제시합니다. 라이브러리 가져오기, 컨트롤러 배열과 TabBar 속성 배열 설정, CYLTabBarController를 window의 RootViewController로 설정, 선택적으로 사용자 정의 플러스 버튼 생성. 프로젝트는 Objective-C와 Swift 사용 설명, Storyboard 연동 방식, 그리고配套 Demo도 함께 제공합니다. README는 또한 이 라이브러리를 사용하는 출시된 App 예시(예: 海底捞, C家, 淘必中 등)를 나열하고 있으며, QQ, Telegram 등의 소통 채널을 제공합니다. 저장소는 MIT 라이선스를 채택하고 있습니다.