Commit b7ee72bb by Orkhan Alikhanov

Fixed tabItem was not changed on swipe

parent 6b989a48
...@@ -373,10 +373,10 @@ fileprivate extension TabsController { ...@@ -373,10 +373,10 @@ fileprivate extension TabsController {
switch swipeGesture.direction { switch swipeGesture.direction {
case .right: case .right:
guard (selectedIndex - 1) >= 0 else { return } guard (selectedIndex - 1) >= 0 else { return }
internalSelect(at: selectedIndex - 1, isTriggeredByUserInteraction: true) internalSelect(at: selectedIndex - 1, isTriggeredByUserInteraction: true, selectTabItem: true)
case .left: case .left:
guard (selectedIndex + 1) < viewControllers.count else { return } guard (selectedIndex + 1) < viewControllers.count else { return }
internalSelect(at: selectedIndex + 1, isTriggeredByUserInteraction: true) internalSelect(at: selectedIndex + 1, isTriggeredByUserInteraction: true, selectTabItem: true)
default: default:
break break
} }
...@@ -390,7 +390,7 @@ extension TabsController { ...@@ -390,7 +390,7 @@ extension TabsController {
- Parameter at index: An Int. - Parameter at index: An Int.
*/ */
open func select(at index: Int) { open func select(at index: Int) {
internalSelect(at: index, isTriggeredByUserInteraction: false) internalSelect(at: index, isTriggeredByUserInteraction: false, selectTabItem: true)
} }
/** /**
...@@ -401,7 +401,7 @@ extension TabsController { ...@@ -401,7 +401,7 @@ extension TabsController {
- Returns: A boolean indicating whether the transition will take place. - Returns: A boolean indicating whether the transition will take place.
*/ */
@discardableResult @discardableResult
private func internalSelect(at index: Int, isTriggeredByUserInteraction: Bool) -> Bool { private func internalSelect(at index: Int, isTriggeredByUserInteraction: Bool, selectTabItem: Bool) -> Bool {
guard index != selectedIndex else { guard index != selectedIndex else {
return false return false
} }
...@@ -412,6 +412,10 @@ extension TabsController { ...@@ -412,6 +412,10 @@ extension TabsController {
} }
} }
if selectTabItem {
tabBar.select(at: index)
}
transition(to: viewControllers[index], isTriggeredByUserInteraction: isTriggeredByUserInteraction) { [weak self] (isFinishing) in transition(to: viewControllers[index], isTriggeredByUserInteraction: isTriggeredByUserInteraction) { [weak self] (isFinishing) in
guard isFinishing else { guard isFinishing else {
return return
...@@ -431,6 +435,6 @@ extension TabsController: _TabBarDelegate { ...@@ -431,6 +435,6 @@ extension TabsController: _TabBarDelegate {
return false return false
} }
return internalSelect(at: i, isTriggeredByUserInteraction: true) return internalSelect(at: i, isTriggeredByUserInteraction: true, selectTabItem: false)
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment