swift:当我打开视图控制器并第一次按下手势识别器时,它说我按下了两次。如何解决这个问题?
swift: when I open the view controller and press the gesture recognizer for the first time it says that i pressed it twice. how to fix this?
当我打开我的视图控制器时,我有 4 个手势识别器,当我点击两次时,会发生这样的喊叫:
@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
doubleTap.numberOfTapsRequired = 2
print("Button was 2x")
}
但是当我第一次按下 4 个按钮中的一个时(我只按下了一次。)它打印出我点击了两次。第一次后它工作正常。
谁能告诉我如何解决这个问题?
感谢阅读我的问题我希望有人能帮助我。
如果你不明白我的问题,请评论。
这是因为第一次将手势识别器设置为识别单击。你把它改成敲击两次,但是你把它设置在错误的地方,因为你已经敲击了一次,所以它进入了动作并执行了那里的代码:
self.doubleTap.numberOfTapsRequired = 2 // This is wrong here!
print("Button was 2x")
因此它更改了识别器以识别两次点击,但它已经识别了一次(这就是执行该代码的原因)所以它也打印该文本。
设置每次点击一次就没意义了。这样做的好地方是 viewDidLoad
.
您还可以在界面生成器中设置所需的点击次数。
代码示例:
@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
print("doubleTap was 2x")
}
override func viewDidLoad() {
super.viewDidLoad()
self.doubleTap.numberOfTapsRequired = 2
}
当我打开我的视图控制器时,我有 4 个手势识别器,当我点击两次时,会发生这样的喊叫:
@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
doubleTap.numberOfTapsRequired = 2
print("Button was 2x")
}
但是当我第一次按下 4 个按钮中的一个时(我只按下了一次。)它打印出我点击了两次。第一次后它工作正常。
谁能告诉我如何解决这个问题?
感谢阅读我的问题我希望有人能帮助我。
如果你不明白我的问题,请评论。
这是因为第一次将手势识别器设置为识别单击。你把它改成敲击两次,但是你把它设置在错误的地方,因为你已经敲击了一次,所以它进入了动作并执行了那里的代码:
self.doubleTap.numberOfTapsRequired = 2 // This is wrong here!
print("Button was 2x")
因此它更改了识别器以识别两次点击,但它已经识别了一次(这就是执行该代码的原因)所以它也打印该文本。
设置每次点击一次就没意义了。这样做的好地方是 viewDidLoad
.
您还可以在界面生成器中设置所需的点击次数。
代码示例:
@IBOutlet var doubleTap: UITapGestureRecognizer!
@IBAction func doubleTapAction(sender: AnyObject) {
print("doubleTap was 2x")
}
override func viewDidLoad() {
super.viewDidLoad()
self.doubleTap.numberOfTapsRequired = 2
}