728x90
PreloadService를 제외한 이전 코드에서 각 기능별 구현 전략을 분석해드리겠습니다:
- 페이지 이동 기능:
onWebViewCreated: (controller) {
gestureRecognizers: Set()
..add(Factory<VerticalDragGestureRecognizer>(
() => VerticalDragGestureRecognizer(),
))
..add(Factory<HorizontalDragGestureRecognizer>(
() => HorizontalDragGestureRecognizer(),
))
..add(Factory<TapGestureRecognizer>(
() => TapGestureRecognizer(),
))
}
- Gesture Recognizer들을 추가해서 웹뷰 내부의 터치를 인식하게 했어요
- 이렇게 하면 웹뷰가 터치 이벤트를 자체적으로 처리할 수 있습니다
2.Android 뒤로가기:
Future<void> _onBackPressed(BackPressed event, Emitter<WebViewState> emit) async {
if (await controller.canGoBack()) {
await controller.goBack();
}
}
- WillPopScope 위젯으로 안드로이드 뒤로가기 버튼 이벤트를 감지
- canGoBack()으로 웹뷰 내에서 뒤로갈 수 있는지 체크
- 가능하면 goBack() 호출, 불가능하면 앱 종료
3. iOS 스와이프:
ios: IOSInAppWebViewOptions(
allowsBackForwardNavigationGestures: true,
)
- InAppWebView의 iOS 옵션에서 allowsBackForwardNavigationGestures를 true로 설정
- 이렇게만 해도 iOS의 기본 스와이프 제스처가 활성화됩니다
728x90
'소프트랩스 > 싸다구' 카테고리의 다른 글
프리로딩 구현전략 - 캐시도 같이. (0) | 2025.02.12 |
---|---|
앱 스플래쉬 이슈해결- 구현전략 (0) | 2025.02.11 |
앱아이콘을 만들며 웹뷰가 뜨지 않았던 이슈 (0) | 2025.02.10 |
앱 아이콘 변경과정 정리 (0) | 2025.02.06 |
앱이름 변경 (1) | 2025.02.06 |