【发布时间】:2023-03-24 22:27:01
【问题描述】:
我不太了解修改响应者链的细节,所以如果这是愚蠢的,请不要抨击我;)
基本上我有 2 个视图堆栈(蓝色)作为父视图(红色)的子视图
它们都在某个时间点占据了父级的整个框架,因此显然只有顶部的那个在获取触摸事件,这些事件向上游传播到父视图(红色)并到达窗口。
在某些情况下,我希望触摸输入被“其他”视图堆栈的合格子视图拾取。也就是说,如果当前最顶层视图的 userinteractionenabled 设置为 no,则该视图将接收这些输入。
设置 userinteractionenabled 有效,但我觉得它是一个肮脏的黑客。要点是这个 topmot 视图大部分是透明的,我希望在指定区域被触摸时的事件最终出现在另一个堆栈上。
这是一张帮助直观解释的图片,请记住,两个蓝色视图都是 100% 的父视图。
【问题讨论】:
标签: objective-c cocoa-touch uikit ios uiresponder