diff --git a/Libraries/Components/ScrollResponder.js b/Libraries/Components/ScrollResponder.js index 6017f8339..44a1959ee 100644 --- a/Libraries/Components/ScrollResponder.js +++ b/Libraries/Components/ScrollResponder.js @@ -260,6 +260,16 @@ var ScrollResponderMixin = { this.props.onTouchEnd && this.props.onTouchEnd(e); }, + /** + * Invoke this from an `onTouchCancel` event. + * + * @param {SyntheticEvent} e Event. + */ + scrollResponderHandleTouchCancel: function(e: Event) { + this.state.isTouching = false; + this.props.onTouchCancel && this.props.onTouchCancel(e); + }, + /** * Invoke this from an `onResponderRelease` event. */ diff --git a/Libraries/Components/ScrollView/ScrollView.js b/Libraries/Components/ScrollView/ScrollView.js index c3502df72..8bedfbe26 100644 --- a/Libraries/Components/ScrollView/ScrollView.js +++ b/Libraries/Components/ScrollView/ScrollView.js @@ -803,6 +803,7 @@ const ScrollView = createReactClass({ onTouchEnd: this.scrollResponderHandleTouchEnd, onTouchMove: this.scrollResponderHandleTouchMove, onTouchStart: this.scrollResponderHandleTouchStart, + onTouchCancel: this.scrollResponderHandleTouchCancel, scrollEventThrottle: hasStickyHeaders ? 1 : this.props.scrollEventThrottle, sendMomentumEvents: (this.props.onMomentumScrollBegin || this.props.onMomentumScrollEnd) ? true : false,