Преглед на файлове

Updated keyboardDisplacementFix on RNCWKWebView

Catch some edge cases where the scrollView contentSize might be smaller than the frame size
Updated if code style (added spaces)
Alexander Stammbach преди 6 години
родител
ревизия
831f8f4442
променени са 1 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 5
    2
      ios/RNCWKWebView.m

+ 5
- 2
ios/RNCWKWebView.m Целия файл

177
     // Additional viewport checks to prevent unintentional scrolls
177
     // Additional viewport checks to prevent unintentional scrolls
178
     UIScrollView *scrollView = self.webView.scrollView;
178
     UIScrollView *scrollView = self.webView.scrollView;
179
     double maxContentOffset = scrollView.contentSize.height - scrollView.frame.size.height;
179
     double maxContentOffset = scrollView.contentSize.height - scrollView.frame.size.height;
180
-    if(scrollView.contentOffset.y > maxContentOffset) {
180
+    if (maxContentOffset < 0) {
181
+        maxContentOffset = 0;
182
+    }
183
+    if (scrollView.contentOffset.y > maxContentOffset) {
181
       // https://stackoverflow.com/a/9637807/824966
184
       // https://stackoverflow.com/a/9637807/824966
182
       [UIView animateWithDuration:.25 animations:^{
185
       [UIView animateWithDuration:.25 animations:^{
183
-          self.webView.scrollView.contentOffset = CGPointMake(0, maxContentOffset);
186
+          scrollView.contentOffset = CGPointMake(0, maxContentOffset);
184
       }];
187
       }];
185
     }
188
     }
186
 }
189
 }