ソースを参照

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 5 年 前
コミット
831f8f4442
共有1 個のファイルを変更した5 個の追加2 個の削除を含む
  1. 5
    2
      ios/RNCWKWebView.m

+ 5
- 2
ios/RNCWKWebView.m ファイルの表示

@@ -177,10 +177,13 @@ static NSString *const MessageHanderName = @"ReactNative";
177 177
     // Additional viewport checks to prevent unintentional scrolls
178 178
     UIScrollView *scrollView = self.webView.scrollView;
179 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 184
       // https://stackoverflow.com/a/9637807/824966
182 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
 }