gpt4 book ai didi

xcode - UIbutton 仅在 longPress 上看起来被点击(突出显示)?

转载 作者:行者123 更新时间:2023-12-04 18:02:45 25 4
gpt4 key购买 nike

这似乎是一个有点奇怪的问题。我在迭代 tableViewCell 中有一个 UIButton在 tableView那是放在常规的ViewController .出于某种原因,它在长按时看起来只是被点击(从默认的蓝色突出显示为浅蓝色,然后又回到蓝色)。它会在常规点击时执行我分配给它的任何操作(刚从普通的旧打印语句开始),但看起来并没有被点击。有人知道如何解决这个问题吗?
按钮处于正常状态:
Button in its normal state

点击后的按钮:

Button after being clicked

长按后的按钮(抱歉,为此不得不用手机拍照)

enter image description here

编辑:这与 iOS7 问题中的答案不同,因为我正在寻找 iOS 10 快速解决方案,而不是 Objective-c。 iOS7也不行

最佳答案

这是正常行为。这是由于 UIScrollView 的 delaysContentTouches属性(property)。根据 Apple 的 docs :

If the value of this property is YES, the scroll view delays handling the touch-down gesture until it can determine if scrolling is the intent. If the value is NO , the scroll view immediately calls touchesShouldBegin:withEvent:inContentView:.



编辑:
This answer给出以下解决方案。我已经测试过了,它确实有效。但是,由于它正在施展魔法,我不建议您实际执行此操作,因为当 Apple 决定在幕后更改其 View 层次结构时,它不可避免地会中断。
tableView.delaysContentTouches = false
for case let x as UIScrollView in tableView.subviews {
x.delaysContentTouches = false
}

旧答案:
This answer提供了一个解决方案,但它确实是一个 hack,并且可能会导致您的应用程序由于使用私有(private)类而被 Apple 拒绝。由于该行为确实是一项功能,因此我建议您保持原样。

关于xcode - UIbutton 仅在 longPress 上看起来被点击(突出显示)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41371479/

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