瀏覽代碼

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
 }