diff --git a/React/Views/RCTScrollView.m b/React/Views/RCTScrollView.m index 42f49ba7243fe8..b0816260edda05 100644 --- a/React/Views/RCTScrollView.m +++ b/React/Views/RCTScrollView.m @@ -525,9 +525,11 @@ - (void)scrollToEnd:(BOOL)animated BOOL isHorizontal = [self isHorizontal:_scrollView]; CGPoint offset; if (isHorizontal) { - offset = CGPointMake(_scrollView.contentSize.width - _scrollView.bounds.size.width, 0); + CGFloat offsetX = _scrollView.contentSize.width - _scrollView.bounds.size.width; + offset = CGPointMake(MAX(offsetX, 0), 0); } else { - offset = CGPointMake(0, _scrollView.contentSize.height - _scrollView.bounds.size.height); + CGFloat offsetY = _scrollView.contentSize.height - _scrollView.bounds.size.height; + offset = CGPointMake(0, MAX(offsetY, 0)); } if (!CGPointEqualToPoint(_scrollView.contentOffset, offset)) { // Ensure at least one scroll event will fire