웹 뷰에서 터치가 Apple Pencle인지 핑거인지 탐지(원본 리액트)
사파리 모바일에서 터치는 다음을 사용하여 Apple Pencle 대 기타(손가락/마우스)로 분류할 수 있다.
event.touches[0].touchType === 'stylus' //pencil
event.touches[0].touchType !== 'stylus' //other
그러나 반응 네이티브 웹뷰에서 수신된 모든 이벤트(애플 펜슬과 핑거 사용)는 다음과 같이 수신된다.
touchType === 'direct' //inside webview, both pencil and other
웹 뷰에서 Apple Pencle의 터치감을 감지하는 방법은?
보아하니event.touches[0] > 0
또 다른 가능성은 있지만 이 또한0
웹 뷰의 두 유형 모두에 대해.
(이 문제가 reactive native의 문제인지 아니면 웹 뷰의 기본 제공 제한 사항인지 확실하지 않음).
관련:
https://github.com/CRAlpha/react-native-wkwebview에서 React Native WebView 구성 요소를 WKWebView 구성 요소로 교체하여 이 문제를 해결했다.
즉, 교체import { WebView } from 'react-native'
와 함께import WKWebView from 'react-native-wkwebview-reborn'
이를 위해서는 다양한 수정과 해결책이 필요했지만 결국 성공적이었으며, 이제 이벤트에는 다음과 같은 추가 매개변수가 포함된다.
- 터치타입
- 강제하다
- 고도각
- 방위각
이전 WebView는 Pencle/Stylus와 관련된 추가 이벤트 매개변수를 지원하지 않을 수 있다(그러나 내가 잘못된/구 버전을 사용 중이거나 아마도 Resact Native가 기본 WebView 구성 요소에서 이 매개변수를 통과하지 못할 수도 있다).만약 누군가가 명확히 할 수 있다면, 나는 기꺼이 좀 더 자세히 업데이트 할 것이다.)
보면iOS 8
개봉일
2014년 9월 17일
그리고 애플 연필 발매일
2015년 11월 11일
그리고 애플 포스터치 출시 날짜
2014년 9월 9일
이제 사과에서 아래 기사를 보면
https://developer.apple.com/documentation/webkit/wkwebview
중요
iOS 8.0 및 OS X 10.10부터 WKWebView를 사용하여 웹 콘텐츠를 앱에 추가하십시오.UIWebView 또는 WebView를 사용하지 마십시오.
그래서 아마 그 일이 일어날 수 있을 것이다.WKWebView
에 비해 이러한 것들에 대한 지지자가 있다.UIWebView
. 그러나 둘 사이의 명확한 차이점을 가진 문서가 없기 때문에 실험 없이는 확인할 수 없다.
사용에 대한 큰 논의가 있었다.WKWebView
react native의 경우 기본적으로 iOS8+.아래에서도 같은 것을 찾을 수 있다.
https://github.com/facebook/react-native/issues/321
다음에서 코멘트를 볼 수 있다.WKWebView
구성 요소 유지 관리자에 반응
반응-원격-웹뷰 유지관리자.나는 이 repo가 핵심으로 통합될 수 있는 제한된 혜택이 있다는 것에 동의한다. 그 중 하나가 엑스포 지원이다(Expo는 여전히 UIWebView를 사용한다.하지만 나는 이것이 'Ract Original'이라기 보다는 엑스포에 더 큰 이슈라고 생각한다.
IMO, React Native는 "핵심" 브리지에 초점을 맞추고 이 구성 요소는 제3자 구성 요소로 행복하게 살아야 한다.이것은 사람들이 이 프로젝트에 실제로 기여하는 것을 더 쉽게 한다.또한, 유연한 출시 일정을 의미한다(Ract Native의 월간 출시 일정과는 반대).
그리고 나는 React Native docs를 개선하는 것이 UIWebView와 WKWebView에 관한 결정을 사람들에게 더 잘 인식시키고 해결책을 제시하기 위한 더 좋은 방법이라는 @brunolemos에 동의한다.
그래서 나는 그것이 가능할 수도 있다고 생각한다.WKWebView
더 이상 사용되지 않는 사람보다 더 많은 이벤트 기능을 가지고 있다.UIWebView
그러나 불행히도 몇 시간 동안 땅을 파본 후 나는 그런 공식적인 정보를 찾을 수 없었다.iPhone/iPad와 함께 실험을 했으면 추가 정보를 추가했을 텐데.
시뮬레이터를 사용해 봤더니 두 종목 모두 아래 필드가 나왔다.UIWebView
그리고WKWebView
WKWebView
UIWebView
내가 사용한 JSFiddle
https://jsfiddle.net/J4djY/166/
하지만 물리적인 장치가 없기 때문에 일부 관찰 결과를 확인할 수 없다.
'programing' 카테고리의 다른 글
Vue.js/Vuetify - 다른 선택 항목을 기준으로 선택 데이터 필터링 (0) | 2022.03.08 |
---|---|
Native(원본 반응) (0) | 2022.03.08 |
하위 구성 요소에서 상위 데이터 업데이트 (0) | 2022.03.08 |
v-on="의 기능VueJS에서 구문 의미 (0) | 2022.03.08 |
개체 배열에 대한 새 특성을 생성할 때 개체를 확장할 수 없는 오류 (0) | 2022.03.08 |