美文网首页
Flutter iOS Scaffold顶部点击无响应

Flutter iOS Scaffold顶部点击无响应

作者: 倪大头 | 来源:发表于2023-03-05 13:16 被阅读0次

组件树结构为Scaffold嵌套Scaffold时,在iOS有刘海屏的机型上,会出现子Scaffold顶部不响应点击事件的情况
页面结构如下:


10317259-b644e78da1fbffbc_副本.png

整个页面是个Scaffold,红色框也是一个Scaffold,这时黄色框部分无法响应点击事件

一顿排查发现Scaffold会把顶部statusbar高度预留出来,这一部分高度无法点击

解决方式有三种:
1.在父组件外面套一层SafeArea
但这样顶部会有边距,不是我想要的

2.子组件不使用Scaffold
我这里需要Scaffold里的floatButton,所以这个方案我也没用

3.子组件Scaffold外层套一个MediaQuery.removePadding,把顶部空间移除掉

MediaQuery.removePadding(
  context: context,
  removeTop: true,
  child: Scaffold(
    backgroundColor: Colors.white,
    floatingActionButton: _floatingBtn(),
    body: _initSubviews(),
  ),
)

相关文章

网友评论

      本文标题:Flutter iOS Scaffold顶部点击无响应

      本文链接:https://www.haomeiwen.com/subject/nvwuldtx.html