假设我们有一个视图控制器和一个子视图。子视图在屏幕中心占据位置,并在四周留出100像素的边距。然后我们添加了一堆小东西在这个子视图里面可以点击。我们只是利用子视图来利用新的框架(在子视图内部x=0,y=0实际上是在父视图中的100,100)。
然后,想象一下我们在子视图后面放置了某些东西,比如菜单。我希望用户能够选择子视图中的任何“小东西”,但如果没有,则希望触摸事件可以穿过子视图(因为背景本来就是透明的),传递到其后面的按钮。
我该怎么做呢?看起来touchesBegan可以通过,但按钮却不起作用。
然后,想象一下我们在子视图后面放置了某些东西,比如菜单。我希望用户能够选择子视图中的任何“小东西”,但如果没有,则希望触摸事件可以穿过子视图(因为背景本来就是透明的),传递到其后面的按钮。
我该怎么做呢?看起来touchesBegan可以通过,但按钮却不起作用。
UIStackView
是一个渲染视图。这意味着它可以有一个背景。即使它是.clear
颜色,它也不会将触摸事件传递给底层视图。 - heyfrank