Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ItemsScrollManager. CellAlignment #104

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

dmitryd20
Copy link

Что сделано

  • В ItemsScrollManager добавлена логика выравнивания ячеек в контейнере. Если раньше ячейки всегда притягивались к левому краю экрана, то теперь можно выбрать выравнивание по центру или правому краю. По умолчанию выбирается .left для обратной совместимости со старой версией
  • Отдельно вынесен из общей логики метод getPageProgress для удобства передачи прогресса в BeanPageControl
  • Демо-экран в Playbook
  • Тесты на getPageProgress

Как проверить:

В Example-приложении проследуйте в Flows -> ItemsScrollManager & BeanPageControl, поиграйтесь с параметрами

Demo

@ZaytsevaMarina
Copy link

Кейс немного некорректного положения индикатора в Example:

  1. Доскроллить до 1го элемента
  2. Резко свайпнуть налево до 0го
  3. Повторить первые два шага
Left
Simulator.Screen.Recording.-.iPhone.13.Pro.Max.-.2023-08-18.at.14.54.07.mp4

@ZaytsevaMarina
Copy link

ZaytsevaMarina commented Aug 18, 2023

Кейс с центрированием:

  1. Свайпнуть вправо, чтобы 2й слайд оказался посередине
  2. Слегка свайпнуть влево, чтобы 0й слайд оказался у левого борта
  3. С размахом свайпнуть влево. Ожидаю, что после этого 0й слайд по-прежнему будет у левого борта и меня не будет откидывать направо до 2го.
Center
Simulator.Screen.Recording.-.iPhone.13.Pro.Max.-.2023-08-18.at.14.59.33.mp4

UPD: Хотя, можно было не делать таких хитрых действий. Можно просто открыть Center mode и свайпнуть нелево. Не разбиралась, зависит ли это от девайса. iPhone 13 Pro Max, iOS 15.5

@ZaytsevaMarina
Copy link

Поймала креш, iPhone 13 Pro Max, iOS 15.5 (Center, просто скроллим до конца):

Index out of range

Снимок экрана 2023-08-18 в 15 39 47

Видео
Simulator.Screen.Recording.-.iPhone.13.Pro.Max.-.2023-08-18.at.15.37.15.mp4

@dmitryd20
Copy link
Author

Кейс немного некорректного положения индикатора в Example:

  1. Доскроллить до 1го элемента
  2. Резко свайпнуть налево до 0го
  3. Повторить первые два шага

Left

Кажется, что проблема внутри BeanPageControl. Туда передаётся правильное значение прогресса - 0.0, но анимация не выполняется

@dmitryd20
Copy link
Author

Кейс с центрированием:

  1. Свайпнуть вправо, чтобы 2й слайд оказался посередине
  2. Слегка свайпнуть влево, чтобы 0й слайд оказался у левого борта
  3. С размахом свайпнуть влево. Ожидаю, что после этого 0й слайд по-прежнему будет у левого борта и меня не будет откидывать направо до 2го.

Center
UPD: Хотя, можно было не делать таких хитрых действий. Можно просто открыть Center mode и свайпнуть нелево. Не разбиралась, зависит ли это от девайса. iPhone 13 Pro Max, iOS 15.5

Поправил. Проблема была в том, что значение округлялось не в ту сторону

@dmitryd20
Copy link
Author

dmitryd20 commented Sep 13, 2023

Поймала креш, iPhone 13 Pro Max, iOS 15.5 (Center, просто скроллим до конца):

Index out of range
Видео

При расчёте могла получиться отрицательная ширина страницы. Поправил это

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants