     }
 
     public var topAdjustedContentInset: UIEdgeInsets {
-        #if SDK11
-            if #available(iOS 11.0, *) {
-                return self.topTableView.adjustedContentInset
-            } else {
-                return self.topTableView.contentInset
-            }
-        #else
-            return self.topTableView.contentInset
-        #endif
-    }
-
-
-    public var bottomAdjustedContentInset: UIEdgeInsets {
-        #if SDK11
-            if #available(iOS 11.0, *) {
-                return self.bottomTableView.adjustedContentInset
-            } else {
-                return self.bottomTableView.contentInset
-            }
-        #else
-            return self.bottomTableView.contentInset
-        #endif
+        if #available(iOS 11.0, *) {
+            return self.topTableView.adjustedContentInset
+        } else {
+            var insets = self.topTableView.contentInset
+            insets.top += UIApplication.shared.statusBarFrame.maxY
+            insets.bottom += (self.tabBarController?.tabBar.frame.height ?? 0)
+            return insets
+        }
     }
 
     public var bottomClosedYOffset: CGFloat {
-        return -self.bottomAdjustedContentInset.top
+        if #available(iOS 11.0, *) {
+            return -self.bottomTableView.adjustedContentInset.top
+        } else {
+            return -self.bottomTableView.contentInset.top
+                - UIApplication.shared.statusBarFrame.maxY
+        }
     }
 
     public var bottomOpenYOffset: CGFloat {

                return
            }

            let closed = self.bottomClosedYOffset
            let range = open - closed
            let beyondOpen = point.y - closed
            if beyondOpen / range > 0.5 {

            return nil
        }
    }
    @available(iOS 11.0, *)
    public func tableView(_ tableView: UITableView, leadingSwipeActionsConfigurationForRowAt indexPath: IndexPath) -> UISwipeActionsConfiguration? {
        switch tableView {
