首页 > 解决方案 > 在 Flutter 和 iOS 中单击 InkWell 或 GestureDector 不起作用

问题描述

我在 iOS 模拟器中遇到了一个奇怪的问题,特别是在 iPhone 12 pro max 模拟器中。您可以从此链接获取视频

请看一下这个视频,因为它在 iPhone 8 中运行良好,但在 iPhone 12 max pro 中运行良好,但我想说它在 iPhone 11 中也不起作用。它在 Android 设备上运行良好。

以下是我正在使用的代码:

// SizedBox(
   //   height: sizedHeight,
   // ),
 Hero(
    tag: 'mannafy_logo',
    child: Material(
             child: GestureDetector(
                     child: Image.asset(
                               "assets/images/mannafy_logo.png",
                               width: 125,
                               fit: BoxFit.fitWidth),
                      onTap: () async {
                                    const url = 'https://www.mannafy.com';
                                    if (await canLaunch(url)) {
                                      await launch(url);
                                    } else {
                                      throw 'Could not launch $url';
                                    }
                                  },
                                ),
                              ),
                            ),

现在最奇怪的部分出现了,如果您取消注释 SizedBox 代码,它就会开始正常工作,但我不想在该图像上方添加空间。

请帮助解决这个问题。

谢谢

标签: androidiosflutterdarthybrid-mobile-app

解决方案


我找到了在 MaterialApp 之前和 Scaffold 之前使用 SafeArea 的解决方案,所以我所做的是我删除了所有 SafeArea,并且只在 Scaffold 内使用了一次。

有效。


推荐阅读