我想将下面的代码转换为 Cupertino, IOS 风格。但是我不能将抽屉菜单用于 IOS 样式。为什么?我该如何使用?

I want to convert the code below into Cupertino, IOS style. But I Can't Use Drawer Menu for IOS style. Why? How can I use?

我想制作 android 和 IOS 风格。

我想将下面的代码转换成 Cupertino,IOS 风格。

但我无法使用 IOS 样式的抽屉式菜单。为什么? 我该如何使用?

return Scaffold(
    key: _scaffoldKey,
    drawer: Drawer(),
    appBar: AppBar(
      leading: IconButton(
        onPressed: () {
          Navigator.pop(context);
        },
        icon: Icon(
          Icons.arrow_back_ios,
          color: MyColors.blue,
        ),
      ),
      centerTitle: true,
      title: Text('Test', style: MyTextStyles.appBarTitle(deviceType) ),
      actions: <Widget>[
        Builder(
          builder: (BuildContext context) => PlatformIconButton(
            onPressed: () {
              Scaffold.of(context).openDrawer();
            },
            icon: Icon(
              Icons.menu,
            )))])
    body: .........

Drawer 小部件是 Material 独有的小部件,您不能直接在 iOS 上使用它。

您可以通过复制 Drawer 小部件的构建构造来为 iOS 构建自己的 "Drawer-like" 小部件,但我不建议这样做,因为抽屉没有那个iOS "look and feel"。作为我自己的 iOS 用户,我知道一些非常有影响力的应用程序(如 Twitter)有一些看起来像抽屉的东西,但我认为这不是本机 iOS 应用程序处理这种导航的方式。

您可以做的是,为 Android 使用 Drawer 小部件,为 iOS 使用底部标签栏,这是 iOS 中更常见的组件=27=] 风格的应用程序。您可以使用 Platform class 来检查您的代码是否正在 Android 或 iOS 上执行,并根据此选择正确的小部件。

这是您可能会发现有用的此类构建逻辑的一个示例。非常抱歉,我不能直接粘贴代码,我有这张演示文稿的屏幕截图,我不记得我把这个项目的代码放在哪里了,但我希望你觉得它有用。