প্রকল্প সম্পর্কে

CYLTabBarController একটি iOS-ভিত্তিক TabBar কম্পোনেন্ট লাইব্রেরি, যা মূলত কাস্টম বটম নেভিগেশন বার তৈরির সমস্যা সমাধান করে। এটি সিস্টেমের নেটিভ UITabBar ও UITabBarItem-এর উপর ভিত্তি করে তৈরি, UIButton বা UIView দিয়ে সিমুলেট করা নয়, তাই সিস্টেম অ্যাপিয়ারেন্স 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 সংযোজনের পদ্ধতি এবং সাথে ডেমো প্রদান করে। README-তে এই লাইব্রেরি ব্যবহার করা প্রকাশিত অ্যাপের উদাহরণও তালিকাভুক্ত করা হয়েছে (যেমন হাইডিলাও, C家, তাওবিঝং ইত্যাদি), এবং QQ, Telegram-এর মতো যোগাযোগ মাধ্যম দেওয়া হয়েছে। রিপোজিটরিটি MIT লাইসেন্স ব্যবহার করে।