0
我有一個我想拖動的SpringButton。這是我的代碼:UIPanGestureRecognizer停留在狀態開始
var gesture = UIPanGestureRecognizer(target: self, action: #selector(userDragged))
card.addGestureRecognizer(gesture)
var cardIsCurrentlyMoving = false
func userDragged(gesture: UIPanGestureRecognizer){
if !cardIsCurrentlyMoving{
if let button = gesture.view as? SpringButton {
if gesture.state == .began {
print("begon")
cardIsCurrentlyMoving = true
startPosition = button.center
} else if gesture.state == .changed {
print("changed")
} else if gesture.state == .ended{
print("ended")
cardIsCurrentlyMoving = false
}
}
}
}
函數被調用,狀態變爲.began
。但是,當試圖移動按鈕時,什麼都不會發生。這是因爲在.began
中設置爲true,但從不回到false,因爲gesture.state .changed
和.ended
從不被調用。
當我鬆開手指並再次觸摸按鈕時,沒有任何反應。爲什麼UIPanGestureRecognizer
不執行.changed
和.ended
?
謝謝。
O這是愚蠢的從我嘿嘿...會在4分鐘內接受答案 –
這種情況有時與我同時發生:) – Surjeet