ios 当前共享首选项版本不支持SliverStaggeredGrid

wwwo4jvm  于 2023-10-21  发布在  iOS
关注(0)|答案(1)|浏览(150)

我目前正在使用SliverStaggeredGrid来构建我的应用程序,但由于它已被删除,我无法使用它,也找不到任何其他代码来替换它。我尝试使用较低的版本,但由于flutter创建了某些依赖项,我无法使用较低的版本。我该怎么办呢:
这是SliverStaggeredGrid的代码:

  1. : SliverStaggeredGrid.countBuilder(
  2. staggeredTileBuilder: (c) => const StaggeredTile.count(1, 1.5),
  3. crossAxisCount: 2,
  4. mainAxisSpacing: 1,
  5. crossAxisSpacing: 0,
  6. itemBuilder: (context, index) {
  7. Items model = Items.fromJson(
  8. snapshot.data!.docs[index].data()!
  9. as Map<String, dynamic>);
  10. return Padding(
  11. padding: const EdgeInsets.all(8.0),
  12. child: ItemsDesign(
  13. model: model,
  14. context: context,
  15. ),
  16. );
  17. },
  18. itemCount: snapshot.data!.docs.length,
  19. );

编辑:
授权版本:

  1. flutter:
  2. sdk: flutter
  3. # The following adds the Cupertino Icons font to your application.
  4. # Use with the CupertinoIcons class for iOS style icons.
  5. cupertino_icons: ^1.0.2
  6. firebase_core: ^2.17.0
  7. firebase_auth: ^4.10.1
  8. cloud_firestore: ^4.9.3
  9. firebase_storage: ^11.2.8
  10. shared_preferences: ^2.0.11
  11. flutter_staggered_grid_view: ^0.7.0
  12. fluttertoast: ^8.0.8
  13. google_fonts: ^6.1.0
  14. hexcolor: ^3.0.1
  15. lottie: ^2.6.0
  16. image_picker: ^1.0.4
  17. geolocator: ^10.1.0
  18. geocoding: ^2.0.1
  19. intl: ^0.18.1

当前显示的错误:

  1. Undefined name 'blog'.尝试将名称更正为已定义的名称,或定义名称。
  2. fit这个名字不是一个类。尝试更正名称以匹配现有类。
    Flutter Doctor结果:
  1. [✓] Flutter (Channel master, 3.16.0-10.0.pre.20, on macOS 14.0 23A344 darwin-arm64, locale en-TZ)
  2. Flutter version 3.16.0-10.0.pre.20 on channel master at /Users/mustafa/flutter
  3. Upstream repository https://github.com/flutter/flutter.git
  4. Framework revision ec94ccff83 (31 hours ago), 2023-10-11 07:41:40 -0400
  5. Engine revision bddb34b09c
  6. Dart version 3.3.0 (build 3.3.0-6.0.dev)
  7. DevTools version 2.28.1
  8. [✓] Android toolchain - develop for Android devices (Android SDK version 33.0.1)
  9. Android SDK at /Users/mustafa/Library/Android/sdk
  10. Platform android-33, build-tools 33.0.1
  11. Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
  12. Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
  13. All Android licenses accepted.
  14. [✓] Xcode - develop for iOS and macOS (Xcode 15.0)
  15. Xcode at /Applications/Xcode.app/Contents/Developer
  16. Build 15A240d
  17. CocoaPods version 1.13.0
  18. [✓] Chrome - develop for the web
  19. Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
  20. [✓] Android Studio (version 2022.3)
  21. Android Studio at /Applications/Android Studio.app/Contents
  22. Flutter plugin can be installed from:
  23. 🔨 https://plugins.jetbrains.com/plugin/9212-flutter
  24. Dart plugin can be installed from:
  25. 🔨 https://plugins.jetbrains.com/plugin/6351-dart
  26. Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b829.9-10027231)
  27. [✓] VS Code (version 1.83.0)
  28. VS Code at /Applications/Visual Studio Code.app/Contents
  29. Flutter extension version 3.74.0
  30. [✓] Connected device (2 available)
  31. macOS (desktop) macos darwin-arm64 macOS 14.0 23A344 darwin-arm64
  32. Chrome (web) chrome web-javascript Google Chrome 117.0.5938.149
68bkxrlz

68bkxrlz1#

这可能不是你想听到的答案,但你可能不能再按原样使用SliverStaggeredGrid了。
您可能需要从插件切换到更新的代码,例如flutter_staggered_grid_viewmasonry_grid。我相信flutter_staggered_grid_view包中的SliverQuiltedGridDeletate可能满足您的需要。
另一种方法是将SliverStaggeredGrid的源代码直接复制到您的项目中或fork插件(假设它来自插件)并仅更新您需要的内容-只要您可以更新最新的flutter版本,它应该可以工作,但可能有一个很好的理由被弃用,所以我不推荐它。

相关问题