CollectionView التمرير مسألة القيود أفقيا

0

لدي مجموعة collectionView يتم تمريرها أفقيًا بينما يتم تمرير جميع خلايا viewView في الجدول عموديًا فقط. أضفت القيود في لوحة العمل لتغيير حجم وتناسب جميع شاشات الحجم. عندما أقوم بتشغيل المشروع على جهاز محاكاة iPhone X ، فإنه يبدو مثاليًا. ولكن بمجرد أن أجرب حجمًا آخر مثل 7 plus ، فإنه يتسبب في أن تصبح خلية عرض المجموعة أصغر وتظهر الخلية التالية. ومع ذلك ، تحتفظ خلايا معاينة الجدول بحجمها الصحيح. كيف يمكنني منع ذلك؟

Imagen 23

1 إجابة

0

تنفيذ collectionView(_:layout:sizeForItemAt:) طريقة UICollectionViewDelegateFlowLayout

وإرجاع الحجم الصحيح لخلويتك ، على سبيل المثال:

return CGSize(width: UIScreen.main.bounds.width, height: 100)

مثال:

class ViewController: UIViewController, UICollectionViewDelegateFlowLayout {
    @IBOutlet private weak var collectionView: UICollectionView!

    override func viewDidLoad() {
        super.viewDidLoad()
        self.collectionView.delegate = self
    }

    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: UIScreen.main.bounds.width, height: 100)
    }
}
:مؤلف
فوق
قائمة طعام