O desenho está quebrado em dispositivos iOS 13.
Posso desenhar linhas horizontais retas, mas se tento desenhar linhas verticais, desenha apenas um ponto e a página rola para cima e para baixo em vez de desenhar.
Eu verifiquei com o Simulador iOS XCodes se ele funcionava em dispositivos iOS 12.
O bug também pode ser reproduzido com a demonstração oficial do signature_pad http://szimek.github.io/signature_pad/
Uma citação das notas de lançamento do 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
Isso poderia ser a causa deste bug?
A maneira mais fácil de corrigir isso é adicionando um invólucro com ontouchmove="return false"
<div ontouchmove="return false">
<canvas id="signature" />
</div>
também foi corrigido no iOS 13.1
Tive que anexar o manipulador de eventos onTouchMove ao div do contêiner raiz de nosso aplicativo react.
Não funciona se eu apenas envolver a tela em um div com esse manipulador de eventos.
No entanto, isso desativa a rolagem em dispositivos de toque completamente.
Então, eu tive que anexar e desanexar dinamicamente o evento ontouchmove quando o usuário clicar na tela.
Comentários muito úteis
também foi corrigido no iOS 13.1