Skip to content

Commit b9d4dbe

Browse files
committed
Make delegate fire after pan gesture finished
1 parent e553102 commit b9d4dbe

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed

MIDITimeTableView/Source/MIDITimeTableView.swift

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -727,23 +727,21 @@ open class MIDITimeTableView: UIScrollView, MIDITimeTableCellViewDelegate, MIDIT
727727
// Horizontal move
728728
if translation.x > subbeatWidth, playheadView.frame.maxX < contentSize.width {
729729
playheadView.position += 0.25
730-
panGestureRecognizer.setTranslation(CGPoint(x: 0, y: translation.y), in: self)
731-
// Fire delegate
732-
if playheadView == self.playheadView {
733-
timeTableDelegate?.midiTimeTableView(self, didUpdatePlayhead: playheadView.position)
734-
} else if playheadView == rangeheadView {
735-
timeTableDelegate?.midiTimeTableView(self, didUpdateRangeHead: rangeheadView.position)
736-
}
737730
} else if translation.x < -subbeatWidth, playheadView.frame.minX > headerCellWidth {
738731
playheadView.position -= 0.25
739-
panGestureRecognizer.setTranslation(CGPoint(x: 0, y: translation.y), in: self)
740-
// Fire delegate
732+
}
733+
734+
// Fire delegate
735+
if panGestureRecognizer.state == .ended || panGestureRecognizer.state == .cancelled || panGestureRecognizer.state == .failed {
741736
if playheadView == self.playheadView {
742737
timeTableDelegate?.midiTimeTableView(self, didUpdatePlayhead: playheadView.position)
743738
} else if playheadView == rangeheadView {
744739
timeTableDelegate?.midiTimeTableView(self, didUpdateRangeHead: rangeheadView.position)
745740
}
746741
}
742+
743+
// Reset translation
744+
panGestureRecognizer.setTranslation(.zero, in: self)
747745
}
748746

749747
// MARK: MIDITimeTableHistoryDelegate

0 commit comments

Comments
 (0)