1

У меня есть CollectionView, который работает, и XLPagerTabStrip чем также работать, но когда я интегрировать свою CollectionView внутри XLPagerTabStrip в IndicatorInfoProvider У меня есть эта ошибка ...CollectionView внутри XLPagerTabStrip

enter image description here

Спасибо!

ответ

0

В вашем делегате декларации класса UICollectionView.

Что-то вроде:

class ViewController: UIViewController, UICollectionViewDelegate {... 
+0

Да, конечно: 'class RecipeViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate, IndicatorInfoProvider'. Если я использую этот CollectionView без XLPagerTabStrip, он отлично работает. – kike0kike

4

У меня была аналогичная проблема. Похоже, когда вы используете раскадровку, вы не можете просто создать новый экземпляр контроллера и добавить в список страниц. Если вы создаете свои дочерние представления, как показано ниже, ничего не отображается.

let child1 = new ChildViewController() 

И как все взгляды на контроллере равны нулю при попытке доступа к ним он бросает это исключение, вы упомянули в вопросе.

Вместо этого, вы должны создать его с помощью раскадровки:

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

Я нашел это в вопросе об их репозитории GitHub: https://github.com/xmartlabs/XLPagerTabStrip/issues/123

Я думаю, что это должно быть указано в основной документации, а также , Поскольку их примерный проект не использует IB для проектирования представлений, instantiateViewControllerWithIdentifier не используется в этом, так что это не очень очевидно.

В любом случае, это решило мою проблему. Надеюсь, это сработает и для вас.

+0

Отлично, он работает. Кроме того, я инициализировал свой кодер в контроллере, который я создаю -> super.init (coder: aDecoder) – kike0kike

+1

@ kike0kike вы должны выбрать этот ответ правильно! – moonvader

+0

Volkan Paksoy, большое вам спасибо! – moonvader

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