/ / Collectionview inside XLPagerTabStrip - swift, swift2, uicollectionview, collectionview, xlpagertabstrip

Collectionview à l'intérieur de XLPagerTabStrip - swift, swift2, uicollectionview, collectionview, xlpagertabstrip

J'ai un CollectionView qui s'exécute et un XLPagerTabStrip qui s'exécute également, mais lorsque j'intègre mon CollectionView dans XLPagerTabStrip dans IndicatorInfoProvider, je rencontre cette erreur ...

entrer la description de l'image ici

Merci!

Réponses:

5 pour la réponse № 1

J'ai eu un problème similaire. Il semble que lorsque vous utilisez le storyboard, vous ne pouvez pas simplement créer une nouvelle instance du contrôleur et l'ajouter à la liste des pages. Si vous créez vos vues enfants comme ci-dessous, rien ne s'affiche.

let child1 = new ChildViewController()

Et comme tous les points de vue sur le contrôleur sont nuls lorsque vous essayez d'y accéder, cette exception lève l'exception que vous avez mentionnée dans la question.

Au lieu de cela, vous devez le créer via le storyboard:

let child1 = storyboard!.instantiateViewControllerWithIdentifier("childViewIdentifier") as! ChildViewController

J'ai trouvé cela dans un problème sur leur référentiel GitHub: https://github.com/xmartlabs/XLPagerTabStrip/issues/123

Je pense que cela devrait être mentionné dans le texte principal.documentation aussi. Comme leur exemple de projet n’utilise pas IB pour la conception de vues, instantiateViewControllerWithIdentifier n’est pas utilisé dans ce cas non plus, de sorte que ce n’est pas très évident.

En tout cas, ça a résolu mon problème. J'espère que ça marchera pour toi aussi.


0 pour la réponse № 2

Dans votre déclaration de classe délégué UICollectionView.

Quelque chose comme:

class ViewController: UIViewController, UICollectionViewDelegate {...

0 pour la réponse № 3

Lorsque vous n'utilisez pas de storyboard, vous pouvez instancier votre classe de la manière suivante:

let child = ChildViewController(nibName: "ChildViewController", bundle: nil)