我的问题是按钮显示但没有响应。甚至是文本字段。在下图中,文本字段 1 和 2 以及按钮 1 和 2 没有获得触摸事件。但是上面的其他文本字段得到了触动。当点击文本字段显示键盘时会出现问题。但是在键盘出现之前,所有的文本字段都处于活动状态并且按钮是响应式的。
UI层次结构是,
UIScrollView (cyan)
|---UIView (blue)
|--- All other views (text field, buttons)
起初,青色和蓝色视图大小相同。所有文本字段和按钮视图都在 UIView 中绘制。所以当键盘出现时,我会调整视图的大小。虽然早期的 UIView 和 UIScrollview 具有相同的区域,但在显示键盘后,蓝色的 UIView 变小了,但它的子视图(按钮、文本字段)在其区域之外。它们被显示,但没有接收到触摸事件。
蓝色视图(UIView)的大小对我来说并不重要。我至少需要按钮和文本字段获得触摸事件。如果我禁用 UIView(蓝色视图)的自动调整大小,那么它可以解决问题。
我的困惑是显示了组件,但为什么不响应事件?