From e8bfde92438525e09108e8353bdfca2162d49fc1 Mon Sep 17 00:00:00 2001 From: relikd Date: Wed, 17 Jun 2020 01:26:49 +0200 Subject: [PATCH] Fix: Search bar animation table height --- main/Common Classes/SearchBarManager.swift | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/main/Common Classes/SearchBarManager.swift b/main/Common Classes/SearchBarManager.swift index 5a90aaa..5880de5 100644 --- a/main/Common Classes/SearchBarManager.swift +++ b/main/Common Classes/SearchBarManager.swift @@ -54,12 +54,15 @@ class SearchBarManager: NSObject, UISearchBarDelegate { hideAndRelease() return } + let h = searchBar.frame.height if active { tv.scrollToTop(animated: false) tv.tableHeaderView = searchBar - tv.frame.origin.y = -searchBar.frame.height + tv.frame.origin.y -= h + tv.frame.size.height += h UIView.animate(withDuration: 0.3, animations: { - tv.frame.origin.y = 0 + tv.frame.origin.y += h + tv.frame.size.height -= h }) { _ in tv.reloadData() self.searchBar.becomeFirstResponder() @@ -67,10 +70,12 @@ class SearchBarManager: NSObject, UISearchBarDelegate { } else { searchBar.resignFirstResponder() UIView.animate(withDuration: 0.3, animations: { - tv.frame.origin.y = -(tv.tableHeaderView?.frame.height ?? 0) + tv.frame.origin.y -= h + tv.frame.size.height += h tv.scrollToTop(animated: false) // false to let UIView animate the change }) { _ in - tv.frame.origin.y = 0 + tv.frame.origin.y += h + tv.frame.size.height -= h self.hideAndRelease() tv.reloadData() }