延迟按钮的突出显示状态

Lea*_*ros 11 user-interface ios ios7

我在两个完全不同的情况下遇到了这个问题,这让人很奇怪.

  1. 情况:UIButton作为另一个UIView的子视图.
  2. 情况:UIBarButtonItem位于UIToolBar中.

在这两种情况下,按钮仅在稍微延迟后突出显示,约为0.5-1秒.绝对要在正常点击时突出显示视图.它们都可以在模拟器上完美运行,但不能在真实设备上运行(我有一个带有iOS 7.0.4的iPhone 5s).

我尝试了
将zPosition设置为这些视图的最高值(MAXFLOAT),以确保没有任何东西阻止了点击.
明确启用突出显示.

两者显然都没有用.

编辑:仍未解决.

Jor*_*n H 5

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

如果您愿意,可以告诉系统优先考虑系统手势的手势.

override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
    return .bottom
}
Run Code Online (Sandbox Code Playgroud)

但请注意,这将要求用户滑动两次以激活系统手势.


Nie*_*els 1

UIButtons 是否位于 UIScrollView 内?如果是,则存在延迟,以便滚动视图可以确定触摸是用于滚动还是应该传递到子视图。

另请参阅UIButton 触摸在 UIScrollView 中时延迟