浏览代码

refactor: safe usage of updateDimensions

flutter-beta
Julian Steenbakker 5 年前
父节点
当前提交
9f7eaec71e
找不到此签名对应的密钥 GPG 密钥 ID: 16E437C7A3D94250
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. +4
    -1
      lib/src/qr_code_scanner.dart

+ 4
- 1
lib/src/qr_code_scanner.dart 查看文件

@@ -318,11 +318,12 @@ class QRViewController {
}

/// Updates the view dimensions for iOS.
static Future<void> updateDimensions(GlobalKey key, MethodChannel channel,
static Future<bool> updateDimensions(GlobalKey key, MethodChannel channel,
{QrScannerOverlayShape? overlay}) async {
if (defaultTargetPlatform == TargetPlatform.iOS) {
// Add small delay to ensure the render box is loaded
await Future.delayed(Duration(milliseconds: 100));
if (key.currentContext == null) return false;
final renderBox = key.currentContext!.findRenderObject() as RenderBox;
try {
await channel.invokeMethod('setDimensions', {
@@ -331,9 +332,11 @@ class QRViewController {
'scanArea': overlay?.cutOutSize ?? 0,
'scanAreaOffset': overlay?.cutOutBottomOffset ?? 0
});
return true;
} on PlatformException catch (e) {
throw CameraException(e.code, e.message);
}
}
return false;
}
}

正在加载...
取消
保存