Skip to content

Commit 3556ec6

Browse files
committed
Set interactionMode to NonCooperative in IOSWebView
This will ensure that touch interactions are not processed by the Compose UI and passed down to the interop view. fixes: #219 #228
1 parent ef53600 commit 3556ec6

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

  • webview/src/iosMain/kotlin/com/multiplatform/webview/web

webview/src/iosMain/kotlin/com/multiplatform/webview/web/WebView.ios.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,9 @@ package com.multiplatform.webview.web
33
import androidx.compose.runtime.Composable
44
import androidx.compose.runtime.remember
55
import androidx.compose.runtime.rememberCoroutineScope
6+
import androidx.compose.ui.ExperimentalComposeUiApi
67
import androidx.compose.ui.Modifier
8+
import androidx.compose.ui.viewinterop.UIKitInteropInteractionMode
79
import androidx.compose.ui.viewinterop.UIKitInteropProperties
810
import androidx.compose.ui.viewinterop.UIKitView
911
import com.multiplatform.webview.jsbridge.WebViewJsBridge
@@ -52,7 +54,7 @@ actual fun defaultWebViewFactory(param: WebViewFactoryParam) = WKWebView(frame =
5254
/**
5355
* iOS WebView implementation.
5456
*/
55-
@OptIn(ExperimentalForeignApi::class)
57+
@OptIn(ExperimentalForeignApi::class, ExperimentalComposeUiApi::class)
5658
@Composable
5759
fun IOSWebView(
5860
state: WebViewState,
@@ -145,7 +147,7 @@ fun IOSWebView(
145147
},
146148
properties =
147149
UIKitInteropProperties(
148-
isInteractive = true,
150+
interactionMode = UIKitInteropInteractionMode.NonCooperative,
149151
isNativeAccessibilityEnabled = true,
150152
),
151153
)

0 commit comments

Comments
 (0)