このプロジェクトについて
CYLTabBarControllerは、iOS向けのTabBarコンポーネントライブラリであり、主にカスタム下部ナビゲーションバーの構築問題を解決します。UIButtonやUIViewで模擬するのではなく、システムネイティブのUITabBarとUITabBarItemに基づいて実装されているため、システム外観APIやpush遷移エフェクトを使用する際にシステムの挙動により近くなります。
主な機能:
- 1行のコードでLottieアニメーションTabBarを導入でき、TabBar項目とアイコンにアニメーションを追加できます。
- 中央にプラス(+)ボタンを備えたTabBarスタイルに対応。プラスボタンのスタイルとframeは独立したCYLPlusButtonサブクラスで実装され、このクラスを削除すればこの機能を完全に除去できます。
- プラスボタンが必要かどうかを自動検出して自動的に並べ替え、プラスボタンの動的な追加・削除とスタイルの動的更新に対応。
- 赤丸バッジを標準搭載し、カスタムバッジViewにも対応。
- TabBarItemをアイコンのみ表示して垂直方向に中央揃えにする機能に対応し、TabBarの高さのカスタマイズにも対応。
- 複数のTabBarのネストとPlusButtonの位置指定に対応し、横画面・縦画面にも対応。
- プラスボタンがTabBar領域を超えた場合でも、超えた部分がクリックに応答します。
最近のバージョンではiOS 26 / iOS 27向けにリキッドグラス(Liquid Glass)とフラットデザインスタイルのサポートが追加されました。Lottieアニメーションとリキッドグラス効果を同時に表示でき、プラスボタンをリキッドグラス効果上に中央表示できます。実行中に2つのスタイルを切り替えられるため、グレーリリースやA/Bテストに便利です。フラットスタイルは独立したコンポーネントとしてプラグイン的に統合され、APIはリキッドグラススタイルと共有されます。READMEでは、リキッドグラスを実装するためにプライベートAPIを使用していないと述べており、アップグレード適応のコード変更量が少ないことも説明しています。
統合方法:CocoaPodsで導入し、READMEには4ステップの手順が示されています。ライブラリのインポート、コントローラ配列とTabBar属性配列の設定、CYLTabBarControllerをwindowのRootViewControllerに設定、任意でカスタムプラスボタンを作成。プロジェクトではObjective-CとSwiftの使用説明、Storyboardとの組み合わせ方法、および付属のDemoも提供しています。
READMEには、このライブラリを使用しているリリース済みアプリの例(海底捞、C家、淘必中など)も記載されており、QQやTelegramなどの交流チャネルも提供されています。リポジトリはMITライセンスを採用しています。
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.