gpt4 book ai didi

ios - UIButton 无法在第一代 iPad 上激活 'touch up inside',适用于第二代

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:45:21 26 4
gpt4 key购买 nike

问题

我有一个带有 UIButton 的 .xib。 UIButton 通过 Touch Up Inside 连接到文件所有者中的方法 - (IBAction)play:(id)sender

当我在第一代 iPad 上运行时,UIButton 在点击时显示其突出显示状态,但不调用连接方法。我在该方法的第一行设置了一个断点,它从未命中。

当我在第二代 iPad 上运行该应用程序时,一切正常。

我已经对这个问题进行了一些盲目破解,但我希望其他人对可能发生的事情有所了解。知道我忽略了什么吗?

更新,部分解决方案

感谢 Stavash 的帮助,我发现问题的根源是附加到包含按钮的 View 的手势识别器。

当我删除手势识别器时,一切正常。

我看到一个 related question这表示使用 UIGestureRecognizerDelegate 来防止手势识别器在点击按钮时响应的解决方案。

但是,即使在点击按钮时委托(delegate)方法返回 NOTouch Up Inside 事件似乎仍未触发。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
if ((touch.view == self.playButton)) {
return NO;
}
return YES;
}

代码取自上面链接的相关问题

明天我会再做一些实验,如果我弄清楚哪里出了问题,我会再次发布。

最佳答案

有可能(看起来很奇怪)您在该 View Controller 中有一个事件的 UITapGestureRecognizer,它在每个 iOS 版本中的 react 不同。尝试取消手势识别器的任何事件实例,看看它是否有效。

关于ios - UIButton 无法在第一代 iPad 上激活 'touch up inside',适用于第二代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14633437/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com