2017-02-10 4 views
1

swift3UICollectionViewFlowLayoutDelegate insetForSectionAt n'a jamais appelé

Je dois utiliser des méthodes de optionalUICollectionViewDelegateFlowLayout, mais la méthode est jamais appelée ci-dessous.

insetForSectionAt

optional public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets 

Depuis UICollectionViewDelegateFlowLayout héritée de UICollectionViewDelegate - tout ce que je dois faire est d'assigner collection'sView délégué:

self.collectionView.delegate = self.delegate 

Notez que tout le reste fonctionne bien et les méthodes comme sizeForItem ou cellForItem est appelé.

+0

Comparer avec celui-ci http://stackoverflow.com/questions/41182854/how-to-give -width-and-height-programatically-for-collection-view-cell-in-ios-sw –

+0

ces réponses ne me semblent pas utiles -> "implémenter la classe de disposition de flux personnalisé" => non, vous n'avez pas à le faire. Ou ils suggèrent le support flowDelegateProtocol => mais cela n'a pas d'importance, c'est juste pour le compilateur – Injectios

+0

Vous devez l'implémenter maintenant, essayez une fois l'implémentation de 'UICollectionViewDelegateFlowLayout' ça fonctionnera sûrement. –

Répondre

0

S'il vous plaît assurez-vous que si vous avez mis en œuvre UICollectionViewDelegateFlowLayout dans votre classe comme ceci:

class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout { 

//...your code here 

}

+0

N'avez-vous pas dit que la méthode n'a pas été appelée? – Sneha

+0

cela étrange, mais je l'ai eu le travail, je vais faire une réponse, mais acceptez le vôtre aussi – Injectios