TabView: Better animations for closing tabs in the middle
This commit is contained in:
@@ -156,7 +156,11 @@ class TabBarView: UIView
|
||||
} else {
|
||||
let newTabView = makeTabView(withIdentifier: identifier)
|
||||
if animated { newTabView.collapsed = true }
|
||||
tabViews.append(newTabView)
|
||||
if i < tabViews.count {
|
||||
tabViews.insert(newTabView, at: i - 1)
|
||||
} else {
|
||||
tabViews.append(newTabView)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,11 @@ class TabController
|
||||
|
||||
func createNewTab(url: URL?, webViewConfiguration: WKWebViewConfiguration?) -> Tab {
|
||||
let tab = Tab(url: url, policyManager: policyManager, webViewConfiguration: webViewConfiguration)
|
||||
tabs.append(tab)
|
||||
if tabs.count > 0 {
|
||||
tabs.insert(tab, at: activeTabIndex + 1)
|
||||
} else {
|
||||
tabs.append(tab)
|
||||
}
|
||||
|
||||
return tab
|
||||
}
|
||||
@@ -43,7 +47,9 @@ class TabController
|
||||
tabs.remove(at: index)
|
||||
|
||||
if tabs.count > 0 {
|
||||
if index < tabs.count {
|
||||
if (index - 1) >= 0 {
|
||||
activeTabIndex = index - 1
|
||||
} else if index < tabs.count {
|
||||
activeTabIndex = index
|
||||
} else {
|
||||
activeTabIndex = tabs.count - 1
|
||||
|
||||
Reference in New Issue
Block a user