SwiftUI ScrollerView里Button点击无法响应事件问题

```

ScrollView(.horizontal,showsIndicators: false) {

                HStack(spacing:8){

                    ForEach(0..

                        Button(action: {


                        },label: {

                            Text("Button")

                        })

                    }

                }

            }

```

该代码展示了一个滑动视图,并且根据数据源titles遍历创建了Button控件,但是查看图层ScrollerView容器宽高均正常

但是无法响应点击事件,按照UIKit排查觉得应该是俯视图没有高度的问题,但是图层显示父视图高度正常,确无法点击事件。修改代码如下:

```

ScrollView(.horizontal,showsIndicators: false) {

                HStack(spacing:8){

                    ForEach(0..

                        Button(action: {


                        },label: {

                            Text("Button")

                        })

                    }

                }

                .padding(.top,22)

                .padding(.bottom,22)

                .padding(.leading,12)

                .padding(.trailing,12)

            }

```

增加内边距,在度撑开ScrollerView容器高度,发现Button可以响应事件。

分析如下:

1. 自适应的Button容器,再布局容器里不给内边距,会造成实际ScrollerView 承载视图高度不足以接收点击事件

2.为何会发生图层高度均正常,产生无法接收点击事件的问题,应该是内部绘制判断问题

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。