সুইফটে কালেকশন ভিউ ব্যবহার করতে, প্রথমে আমাদের একটি কালেকশন ভিউ তৈরি করতে হবে। আমরা হয় টেনে এনে স্টোরিবোর্ডে ড্রপ করতে পারি, অথবা আমরা এটি প্রোগ্রাম্যাটিকভাবে তৈরি করতে পারি। এর পরে, আমাদের UICollectionViewDataSource এবং UICollectionViewDelegate-এ আমাদের ক্লাস নিশ্চিত করতে হবে। এছাড়াও যদি আমাদের কাস্টম সেলের আকার এবং লেআউটের প্রয়োজন হয়, তাহলে আমাদের এটি UICollectionViewDelegateFlowLayout-এ নিশ্চিত করতে হবে।
চলুন দেখে নেওয়া যাক একটি সংগ্রহ তৈরি করার জন্য প্রয়োজনীয় ধাপগুলি দেখুন প্রোগ্রামগতভাবে।
func initCollection() { let layout = UICollectionViewFlowLayout() layout.itemSize = CGSize(width: 50, height: 50) let collection = UICollectionView.init(frame: self.view.frame, collectionViewLayout: layout) collection.dataSource = self collection.delegate = self collection.backgroundColor = colorLiteral(red: 0.3411764801, green: 0.6235294342, blue: 0.1686274558, alpha: 1) collection.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "cell") self.view.addSubview(collection) }
আমাদের ViewDidLoad() পদ্ধতিতে উপরের ফাংশনটি কল করতে হবে। আমরা প্রোগ্রাম্যাটিকভাবে একটি সংগ্রহ তৈরি করি, বা স্টোরিবোর্ড দিয়ে, আমাদের ডেটা উত্স বরাদ্দ করতে হবে, এবং টেবিলে ডেটা দেওয়ার জন্য প্রতিনিধিত্ব করতে হবে এবং যথাক্রমে তার ক্রিয়াগুলি পর্যবেক্ষণ করতে হবে৷
এখন, আমাদের সংগ্রহটি বলতে হবে, এটির কতগুলি বিভাগ থাকা উচিত −
৷func numberOfSections(in collectionView: UICollectionView) -> Int { return 1 }
এর পরে, আমাদের বলতে হবে এতে কতগুলি আইটেম থাকবে এবং কোষগুলিতে কী কী ডেটা থাকা উচিত।
func collectionView(_ collection: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 7 } func collectionView(_ collection: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collection.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) cell.layer.backgroundColor = colorLiteral(red: 0.4392156899, green: 0.01176470611, blue: 0.1921568662, alpha: 1) return cell }
ঐচ্ছিকভাবে আমরা প্রয়োজন অনুযায়ী একে ভিন্ন আকার দিতে পারি।
func collectionView(_ collection: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { let size = CGSize(width: 200, height: 50) return size }
যখন আমরা একটি ডিভাইসে উপরের কোডটি চালাই, তখন এটি তৈরি হয় ফলাফল।