ScrollView.contentOffset.y не может двигаться меньше 0,333 пикселя - PullRequest
0 голосов
/ 17 июня 2019

Я пытаюсь создать телесуфлер. В основном автоматическая прокрутка scrollView.

Я каждый раз перемещаю scrollView.contentOffset.y на 1 пункт / пиксель.

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

Но я не могу уменьшить размер точки до 0,3333. При вызове движения 0,2 оно округляется до 0,333, 0,1 округляется до 0, поэтому я получаю 0 движения. Почему это так и как я могу это изменить?

1 Ответ

0 голосов
/ 17 июня 2019

Смещение в пунктах.На устройстве 3х один пиксель равен 0,3333 балла.Очевидно, что вы не можете прокрутить частичный пиксель.

Одним из решений, которое эффективно решает эту проблему, является сохранение собственного значения смещения, которое можно увеличивать при меньших значениях.Затем обновите смещение вида прокрутки, указав собственное значение.Не пытайтесь добавить что-то вроде 0.1 или 0.2 к смещению вида прокрутки.Увеличьте свое собственное значение и обновите смещение вида прокрутки.Конечно, фактическое движение вида прокрутки не будет таким мелким, как ваши маленькие обновления, но общая прокрутка будет медленнее.

...