@@ -8,23 +8,23 @@ import androidx.compose.runtime.*
88import androidx.compose.ui.Alignment
99import androidx.compose.ui.Modifier
1010import androidx.compose.ui.graphics.Color
11- import androidx.compose.ui.interop.UIKitView
1211import androidx.compose.ui.unit.dp
12+ import androidx.compose.ui.viewinterop.UIKitView
1313import example.imageviewer.IosStorableImage
1414import example.imageviewer.PlatformStorableImage
1515import example.imageviewer.createNewPhotoNameAndDescription
1616import example.imageviewer.icon.IconPhotoCamera
1717import example.imageviewer.model.GpsPosition
1818import example.imageviewer.model.PictureData
1919import example.imageviewer.model.createCameraPictureData
20- import kotlinx.cinterop.CValue
2120import kotlinx.cinterop.ExperimentalForeignApi
2221import kotlinx.cinterop.ObjCAction
22+ import kotlinx.cinterop.readValue
2323import kotlinx.cinterop.useContents
2424import platform.AVFoundation.*
2525import platform.AVFoundation.AVCaptureDeviceDiscoverySession.Companion.discoverySessionWithDeviceTypes
2626import platform.AVFoundation.AVCaptureDeviceInput.Companion.deviceInputWithDevice
27- import platform.CoreGraphics.CGRect
27+ import platform.CoreGraphics.CGRectZero
2828import platform.CoreLocation.CLLocation
2929import platform.CoreLocation.CLLocationManager
3030import platform.CoreLocation.kCLLocationAccuracyBest
@@ -228,22 +228,22 @@ private fun BoxScope.RealDeviceCamera(
228228 }
229229 }
230230 UIKitView (
231- modifier = Modifier .fillMaxSize(),
232- background = Color .Black ,
231+ modifier = Modifier .fillMaxSize().background(Color .Black ),
233232 factory = {
234- val cameraContainer = UIView ()
233+ val cameraContainer = object : UIView (frame = CGRectZero .readValue()) {
234+ override fun layoutSubviews () {
235+ CATransaction .begin()
236+ CATransaction .setValue(true , kCATransactionDisableActions)
237+ layer.setFrame(frame)
238+ cameraPreviewLayer.setFrame(frame)
239+ CATransaction .commit()
240+ }
241+ }
235242 cameraContainer.layer.addSublayer(cameraPreviewLayer)
236243 cameraPreviewLayer.videoGravity = AVLayerVideoGravityResizeAspectFill
237244 captureSession.startRunning()
238245 cameraContainer
239246 },
240- onResize = { view: UIView , rect: CValue <CGRect > ->
241- CATransaction .begin()
242- CATransaction .setValue(true , kCATransactionDisableActions)
243- view.layer.setFrame(rect)
244- cameraPreviewLayer.setFrame(rect)
245- CATransaction .commit()
246- },
247247 )
248248 CircularButton (
249249 imageVector = IconPhotoCamera ,
0 commit comments