Лучший способ управлять UICollectionView с сегментированным контроллером - PullRequest
0 голосов
/ 29 января 2020

У меня есть UISegmentedControl с 2 сегментами. Эти сегменты представляют два состояния, в которых может находиться мой UICollectionView. Каждое состояние имеет различное количество разделов и разные ячейки в этих разделах.

Мой первоначальный подход был примерно таким:

@objc priviate func didChangeStep() { //To Be Called When Segment Changes
    collectionView.reloadData()
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
    switch stepController.selectedSegmentIndex {
    case 0:
        return 5
    case 1:
        return 3
    case 2:
        return 0 //For Later
    default:
        return 0 //For Later
    }
}

I Также следите за « выбранной в данный момент ячейкой » (какая ячейка находится ближе всего к середине), поэтому при ее изменении я могу « выделить"эта ячейка и все еще имеет предыдущую ячейку" unhighlight".

Под влиянием CollectionView под влиянием состояния сегментированного контроллера возникают проблемы с прокруткой к первой ячейке (сначала слева направо) после изменения сегмента, выделением старой и выделением новой ячейки после изменения сегмента и еще несколько вопросов.

Есть ли лучший / стандартный способ иметь collectionView, у которого есть изменение sectionSize на основе внешнего UIElement?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...