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