Update RCTScrollView.m
Summary: fix problem of function scrollToEnd: There are some strange thing happened when contentSize.height(width) is smaller than bounds.size.height(width). In fact, there is no need to scroll in this case. Thanks for submitting a PR! Please read these instructions carefully: - [x] Explain the **motivation** for making this change. - [x] Provide a **test plan** demonstrating that the code is solid. - [x] Match the **code formatting** of the rest of the codebase. - [x] Target the `master` branch, NOT a "stable" branch. What existing problem does the pull request solve? A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI or updates the website. See [What is a Test Plan?][1] to learn more. If you have added code that should be tested, add tests. Sign the [CLA][2], if you haven't already. Small pull requests are much easier to review and more likely to get merged. Make sure the PR does only one thing, otherwise please split it. Make sure all **tests pass** on both [Travis][3] and [Circle CI][4]. PRs that break tests are unlikely to be merged. For more info, see the ["Pull Requests"][5] section of our "Contributing" guidelines. [1]: https://medium.com/martinkonicek/what-is-a-test-plan-8bfc840ec171#.y9lcuqqi9 [2]: https://code.facebook.com/cla [3]: https://travis-ci.org/facebook/react-native [4]: http://circleci.com/gh/facebook/react-native [5]: https://github.com/facebook/react-native/blob/master/CONTRIBUTING.md#pull-requests Closes https://github.com/facebook/react-native/pull/13180 Differential Revision: D4928778 Pulled By: javache fbshipit-source-id: 8b74833593ee317df726a4035ec71bbc77d13afe
This commit is contained in:
parent
9637dd4a1b
commit
a3d58ba570
|
@ -525,9 +525,11 @@ static inline void RCTApplyTranformationAccordingLayoutDirection(UIView *view, U
|
||||||
BOOL isHorizontal = [self isHorizontal:_scrollView];
|
BOOL isHorizontal = [self isHorizontal:_scrollView];
|
||||||
CGPoint offset;
|
CGPoint offset;
|
||||||
if (isHorizontal) {
|
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 {
|
} 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)) {
|
if (!CGPointEqualToPoint(_scrollView.contentOffset, offset)) {
|
||||||
// Ensure at least one scroll event will fire
|
// Ensure at least one scroll event will fire
|
||||||
|
|
Loading…
Reference in New Issue