0

Я создал UICollectionView, в котором у меня есть одна ячейка прототипа. Я хочу 2 ячейки в строке и запускать ее на меньшем экране, давая мне по одной ячейке в строке. Расстояние между ячейками увеличивается на большем экране. Я говорю только об iPhone.CollectionView Cell Автоматическое изменение размера

Я думаю, что я должен установить ограничения программным путем, используя ширину экрана и разделив его на 2. Я знаю, как выбрать ширину экрана и разделить его на 2, но я не знаю, как программировать ширину и высоту ячейки.

ответ

1

UICollectionViewDelegateFlowLayout определяет метод для этой цели.

func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
    // return a CGSize 
} 

Пример:

class MyViewController : UIViewController, UICollectionViewDelegateFlowLayout { 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     self.collectionView.delegate = self 
     self.collectionView.dataSource = self 
    } 

    // ... 

    func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { 
     return CGSize(width: CGFloat(self.view.frame.size.width/2), height: self.view.frame.size.height) 
    } 

    // ... 
} 
+0

Спасибо за Ваш ответ ... Можете ли вы показать пример? –

+0

ой, что сработало для меня ... Большое спасибо ..... –

+0

@ user5744323 вы можете принять ответ, чтобы он помог другим пользователям. P.S добро пожаловать – azimov

Смежные вопросы