На устройствах iOS 13 рисунок не работает.
Я могу рисовать прямые горизонтальные линии, но если я пытаюсь нарисовать вертикальные линии, он рисует только точку, и страница прокручивается вверх и вниз вместо рисования.
Я проверил с помощью XCodes iOS Simulator, что он работает на устройствах iOS 12.
Ошибка также может быть воспроизведена с помощью официальной демонстрации signature_pad http://szimek.github.io/signature_pad/
Цитата из примечаний к выпуску Safari 13:
Added support for one-finger accelerated scrolling to all frames and overflow:scroll}}elements eliminating the need to {{set-webkit-overflow-scrolling: touch.
Changed the default behavior on iPad for wide web pages with responsive meta-tags that require horizontal scrolling. Pages are scaled to prevent horizontal scrolling and any text is resized to preserve legibility.
https://developer.apple.com/documentation/safari_release_notes/safari_13_release_notes
Может ли это быть причиной этой ошибки?
Самый простой способ исправить это - добавить оболочку с ontouchmove="return false"
<div ontouchmove="return false">
<canvas id="signature" />
</div>
это также исправлено в iOS 13.1
Мне пришлось прикрепить обработчик события onTouchMove к корневому контейнеру div нашего приложения для реагирования.
Это не сработает, если я просто оберну холст в div с этим обработчиком событий.
Однако это полностью отключает прокрутку на сенсорных устройствах.
Поэтому мне пришлось динамически присоединять и отсоединять событие ontouchmove, когда пользователь нажимает на холст.
Самый полезный комментарий
это также исправлено в iOS 13.1