Ограничения автоматического размещения, сдвинутые в UICollectionView - PullRequest
0 голосов
/ 03 июня 2018

Я работаю над приложением, которое использует UICollectionView с ячейками, которые прокручиваются по вертикали.Я настроил большую часть интерфейса, используя AutoLayout.Вот настройка AutoLayout:

AutoLayout

Однако прокрутка не дает желаемого результата.Иногда ограничения нарушаются, а GradientView и TextView кажутся дезориентированными. Вот видео, показывающее эффект прокрутки.

Вот что я ожидаю:

Expectation

Вот что на самом деле происходит:

Reality

Фиолетовый на заднем плане - Main Button.Main Button и Shadow расположены правильно, а Gradient View и Text View - нет.Gradient View и Text View имеют светло-серый и белый цвета фона, соответственно, и, как показано, не в правильном положении.

Я попытался обновить ограничения в scrollViewDidScroll и cellWillDisplayметоды, но ни один из них не имел никакого эффекта.

func scrollViewDidScroll(_ scrollView: UIScrollView) {
    bigCollection.updateConstraints()
    for cell in bigCollection.visibleCells {
        cell.updateConstraints()
    }
}

func collectionView(_ collectionView: UICollectionView, willDisplay cell: UICollectionViewCell, forItemAt indexPath: IndexPath) {
    cell.updateConstraints()
}

Что может быть причиной изменения ограничений при прокрутке?Заранее спасибо.

1 Ответ

0 голосов
/ 03 июня 2018

GradientView сверху, слева, справа будет нулем (0) с вашим 'mainButton', а нижняя часть GradientView будет примерно 30 (в соответствии с вашими потребностями) для TextView.То же самое с вашим TextView.left, right, bottom будет 0 с вашим mainButton, а Top будет 30 для GradientView.

Ваши ограничения GradientView и TextView установлены на main View, поэтому это происходит.Можете ли вы попробовать мои предложения, и дайте мне знать?

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