【问题标题】:UIButton passes touches to superview when disabled - how can I avoid this?UIButton 在禁用时将触摸传递给超级视图 - 我该如何避免这种情况?
【发布时间】:2010-07-09 10:33:36
【问题描述】:

我有一个 UIButton,在用户单击它后我会禁用它几秒钟(使用 button.enabled = NO)。该按钮禁用,但在禁用时触摸它会导致后面的视图接收到触摸 - 这是我不想要的。

我也试过button.userInteractionEnabled = NO,但这也有同样的问题。

我可以让按钮消耗触摸吗?还是我必须保持启用并以编程方式停止IBAction 中的代码执行?

【问题讨论】:

标签: iphone uibutton


【解决方案1】:

我所做的是将与 UIButton 大小相同的 UIImageView 放在 UIButton 下方。那么即使你禁用了 UIButton,触摸事件也不会传播 UIImageView。

【讨论】:

    【解决方案2】:

    不要禁用它 - 只是不要执行在点击时调用的方法。
    您可能会保留一些布尔值,以保持按钮的“虚拟”状态(活动与否)并根据此布尔值执行或不执行操作...

    【讨论】:

    • 不幸的是,这意味着当按钮被禁用时,您无法利用不同的外观。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2018-12-18
    • 1970-01-01
    相关资源
    最近更新 更多