我在两种完全不同的情况下遇到了这个问题,这让它变得非常奇怪。
在这两种情况下,按钮仅在稍微延迟后突出显示,约为0.5-1秒。绝对要在正常点击时突出显示视图。它们都可以在模拟器上完美运行,但不能在真实设备上运行(我的iPhone 5s配有iOS 7.0.4)。
我尝试了什么
将zPosition设置为这些视图的最高值(MAXFLOAT),以确保没有任何东西阻止点击。
明确启用突出显示。
两者显然都不起作用。
编辑:仍未解决。
答案 0 :(得分:5)
如果按钮靠近显示屏的底边放置,可能会发生这种情况。系统边缘手势与控制中心(或iPhone X和iPad上的App Switcher)存在冲突。它会延迟按钮的触摸,直到确定用户没有执行系统手势为止。
如果您愿意,可以告诉系统优先考虑系统手势的手势。
override func preferredScreenEdgesDeferringSystemGestures() -> UIRectEdge {
return .bottom
}
请注意,这将要求用户滑动两次以激活系统手势。
答案 1 :(得分:1)
我知道这已经很长时间了,但我刚遇到了类似的问题:
UIButton
是UINavigationController.view
我发现只有从Xcode运行应用程序才会发生这种情况。如果我断开设备并从它的图标打开应用程序,一切正常。
我希望它有所帮助。
答案 2 :(得分:0)
UIBcroll在UIScrollView中? 如果是,则延迟就在那里,因此scrollview可以确定触摸是用于滚动还是应该传递给子视图。