iphone - UIButton 事件 'Touch Up Inside' 不起作用。 'Touch Down' 工作正常

标签 iphone events uikit uibutton ibaction

我在 UIView 中有一个 UIButton,它位于我从 .xib 文件分配并初始化的 UIViewController 中。

当将 IBAction 与 UIButton 的“Touch Down”事件 Hook 时,它会正确触发。但如果我将其连接到“Touch Up Inside”事件,它不会响应。

其他事件也不起作用。 “触摸拖动进入”、“触摸拖动退出”、“触摸向外”等。仅触摸向下。

有人知道为什么会这样吗?

丰富

最佳答案

首先,我可以绝对、积极地向您保证,IB 中正确连接的 UIButtons 会按预期响应 touch-up inside 事件。 (你能想象如果他们不这样做吗?!)

鉴于此,很可能您没有按照预期连接起来。这里有一些可以尝试的事情:

  • 首先让您的操作打印日志语句:

    NSLog(@"%s", __PRETTY_FUNCTION__);​​

  • 在 IB 中检查您的按钮连接到的唯一功能是您的触摸内部操作。 (稍后,您可以将其连接到多个事件,但为了测试,我们希望尽可能简化。)

  • 确保您的按钮尺寸为 50x50 或更大。 (小按钮很难按。)
  • 现在,将您的按钮设置为圆角矩形按钮。如果您有一个图像按钮,并且图像具有透明度,则可能很难按下。
  • 确保您的操作具有正确的签名:

    - (IBAction) myButtonPressedAction: (id) 发件人;

  • 为了确保一切都干净,请从 .xib 中删除该按钮并重新添加。

  • 确保父 View 已设置 userInteractionEnabled
  • 确保 xib 的 FileOwner 是您的 View Controller 类型。

如果这些都没有帮助,您必须告诉我们有关问题区域的更多信息。也许添加 IB 中按钮设置的屏幕截图和项目中的代码片段。

关于iphone - UIButton 事件 'Touch Up Inside' 不起作用。 'Touch Down' 工作正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3884591/

相关文章:

iphone - 防止显示 UITableView header

iphone - 如何模拟触摸事件?

ios - 将 radio 列表/检查值(在表中)保存到 plist

ios - 在 UIWebView 中嵌入图像和 UILable

ios - 如何将按钮移动到随机位置? ( swift )

javascript - 从 jQuery 自定义触发器/绑定(bind)事件返回数据

java - 更改文本字段的值,因为另一个文本字段的值已更改,并且相同但相反,导致错误

php - 无法使Google Analytics(分析)事件跟踪正常工作

ios - UITableViewCell 自定义编辑 View

ios - 将translatesAutoresizingMaskIntoConstraints设置为所有 subview