ios - 按钮高亮状态的延迟

标签 ios user-interface ios7

我在两种完全不同的情况下遇到了这个问题,这真的很奇怪。

  1. 情况:一个 UIButton 作为另一个 UIView 的 subview 。
  2. 情况:UIBarButtonItem 在 UIToolBar 中。

在这两种情况下,按钮仅在稍有延迟(大约 0.5 - 1 秒)后才会突出显示。正常点击时肯定会长时间突出显示 View 。它们在模拟器上都能完美运行,但在真实设备上却不行(我有一部装有 iOS 7.0.4 的 iPhone 5s)。

我尝试了什么
将 zPosition 设置为这些 View 的最大值 (MAXFLOAT),以确保没有任何东西阻挡点击。
显式启用突出显示。

两者显然都不起作用。

编辑:仍未解决。

最佳答案

如果按钮靠近显示屏的底部边缘,就会发生这种情况。显示控制中心(或 iPhone X 和 iPad 上的 App 切换器)的系统边缘手势存在冲突。它会延迟按钮的触摸,直到确定用户没有执行系统手势。

如果您愿意,可以告诉系统让您的手势优先于系统手势。

override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
    return .bottom
}

但请注意,这需要用户滑动两次才能激活系统手势。

关于ios - 按钮高亮状态的延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134328/

相关文章:

iphone - NSInvocationOperation 忽略 maxConcurrentOperationCount

ios - SKReceiptRefreshRequest 与 restoreCompletedTransactions

ios - Mac OS X 代码签名是否像 iOS 上的代码签名一样工作?

c++ - Win32 UI - 使控件随着父控件的扩展而扩展

ios - sizeWithAttributes 给我一个不同的 CGSize 宽度和高度

text - Sprite 套件-无法更改文本颜色(始终为白色)

ios - MapKit 沿线标注

ios - 找不到框架.xcframework

java - 如何将自定义小部件与 SWT 中的 TreeItem 关联起来?

java - MiGLayout 大小调整在 JavaFX 中无法正常工作