【问题标题】:UIButton not receiving IBActionUIButton 没有收到 IBAction
【发布时间】:2016-08-08 01:29:45
【问题描述】:

我有一件非常简单的事情要做。我正在处理别人的代码,我想放大UIButton,因为它对用户来说太小了。我在情节提要中把它放大了,但是当我运行应用程序时,关联的IBAction 只有在我更改之前触摸原始矩形的位置时才会被击中。按钮仍然明显更大,但只有一部分接收触摸事件。有谁知道这里还有什么可以玩的吗?

注意:按钮占据的新区域顶部没有视图,所以我认为触摸不会被顶部的视图拾取。

【问题讨论】:

  • 其他带有手势的视图?自动调整大小在运行时更改按钮?多种选择

标签: ios iphone uibutton ibaction hittest


【解决方案1】:

发现问题。在按钮顶部以编程方式添加了一个视图。 origin.x 被硬编码到按钮宽度用于结束的位置。

【讨论】:

    【解决方案2】:

    需要检查的是 UIButton 是否具有较小尺寸的祖先视图(即其父视图链中的视图)。如果触摸包含在视图中,命中测试只会向下传递视图层次结构,因此较小的超级视图将停止超出其边界的触摸,即使触摸在按钮内部也是如此。

    【讨论】:

      【解决方案3】:

      IBAction 是否与 Interface Builder/Storyboard 中的“内部修饰”相关联?我犯了错误,我将它与不同类型的事件联系起来,它表现出你正在经历的行为。

      【讨论】:

        猜你喜欢
        • 2021-12-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多