Skip to content

Commit cf7ace0

Browse files
committed
fix(ios): autofocus fix
1 parent 200522b commit cf7ace0

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

src/ui-cameraview/index.common.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ export const enablePinchZoomProperty = new Property<CameraViewBase, boolean>({
2222
defaultValue: false,
2323
valueConverter: booleanConverter
2424
});
25-
export const autoFocusProperty = new Property<CameraViewBase, boolean>({
25+
export const autoFocusProperty = new Property<CameraViewBase, boolean | number>({
2626
name: 'autoFocus',
2727
defaultValue: false,
28-
valueConverter: booleanConverter
28+
valueConverter: (v) => (v === 'false' || v === 'true' ? booleanConverter(v) : parseInt(v, 10))
2929
});
3030
export const saveToGalleryProperty = new Property<CameraViewBase, boolean>({
3131
name: 'saveToGallery',

src/ui-cameraview/index.ios.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,11 @@ export class CameraView extends CameraViewBase {
222222
}
223223
}
224224

225-
[autoFocusProperty.setNative](value: boolean) {
226-
throw new Error('Method not implemented.');
225+
[autoFocusProperty.setNative](value: boolean | number) {
226+
if (typeof value === 'boolean') {
227+
this.nativeViewProtected.focusMode = value ? AVCaptureFocusMode.ContinuousAutoFocus : AVCaptureFocusMode.Locked;
228+
} else {
229+
this.nativeViewProtected.focusMode = value;
230+
}
227231
}
228232
}

src/ui-cameraview/typings/ios.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ declare class NSCameraView extends UIView {
2121
readonly canCaptureVideo: boolean;
2222

2323
flashMode: number;
24+
focusMode: number;
2425

2526
nextLevel: NextLevel;
2627

0 commit comments

Comments
 (0)