2016-09-29 2 views
2

я реализовал UICollectionViewDelegateFlowLayout в моем ViewController, и указать врезки, используя следующий код:UICollectionViewDelegateFlowLayout вставках не работает

func collectionView(_ collectionView: UICollectionView, 
           layout collectionViewLayout: UICollectionViewLayout, 
             insetForSectionAt section: Int) -> UIEdgeInsets { 
    return sectionInsets 
} 

Но эта функция никогда не выполняется при использовании точек останова для отладки. Поскольку я уже указал делегата UICollectionView на ViewController, я не знаю, что происходит не так.

ответ

5

Чтобы установить макеты для представления коллекции, выполните следующие действия внутри collectionViewClass:

1. реализовать метод getLayout:

func getLayout() -> UICollectionViewLayout 
    { 
     let layout:UICollectionViewFlowLayout = UICollectionViewFlowLayout() 

     layout.itemSize = CGSize(width: 150, height: 150) 
     layout.sectionInset = UIEdgeInsets(top: 25, left: 25, bottom: 25, right: 25) 

     return layout as UICollectionViewLayout 

    } 

2. Установить свойство из метода в ViewDidLoad:

self.collectionView!.collectionViewLayout = self.getLayout() 
Смежные вопросы