当我通过设置其左、右、上和高度约束来添加具有自动布局的 subview 时,我无法添加点击手势并且我的按钮不接收点击。
当我手动将框架设置到我需要的位置并且不使用自动布局时,我可以添加手势识别器并且我的按钮是交互式的。
为什么添加了自动布局的 View 不响应事件?
我想使用自动布局,因为我想响应不同的方向和尺寸,这些比我想处理的手动框架调整更复杂。
最佳答案
如果您使用自动布局过多地限制了您的 View ,就会发生这种情况。例如,您可能不小心将 View 的高度设置为零或将其放置在您放置按钮的区域之外。请注意,按钮本身可以放置在您查看它们时看起来正确的位置,但它们实际上位于自动布局引擎为父 View 计算的区域之外。
另一件可能打击您的事情是,如果您以编程方式添加所有自动布局约束,Interface Builder 中的某些约束可能仍会启用。您可以通过设置 view.translatesAutoresizingMaskIntoConstraints = NO;
另外,请注意控制台窗口中的任何运行时自动布局警告,它们通常会告诉您某些约束是否不能很好地协同工作。
关于ios - 添加了自动布局的 UIView 不接收点击/事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26954189/