Используйте isSwipeEnabled = false
, чтобы отключить функцию прокрутки. По умолчанию установлено значение true в SwipeableTabBarController
UPDATE:
Поскольку вы ищете решение без анимации, предоставляемой библиотекой SwipeableTabBarController
, но при этом хотите использовать функцию смахивания. Вот как вы можете сделать это по умолчанию UITabBarController
.
Шаг 1:
Создайте стандартные контроллеры UITabBarController
и 2 вида, давайте назовем их ViewController_1
& ViewController_2
Шаг 2:
Создайте класс для каждого ViewController
и в методе ViewDidLoad()
обоих ViewController_1
& ViewController_2
добавьте эти строки.
override func viewDidLoad() {
super.viewDidLoad()
let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(swiped))
swipeRight.direction = UISwipeGestureRecognizer.Direction.right
self.view.addGestureRecognizer(swipeRight)
let swipeLeft = UISwipeGestureRecognizer(target: self, action: #selector(swiped))
swipeLeft.direction = UISwipeGestureRecognizer.Direction.left
self.view.addGestureRecognizer(swipeLeft)
}
И затем добавляйте эту функцию каждый раз, когда в обоих классах обнаруживается свайп.
@objc func swiped(_ gesture: UISwipeGestureRecognizer) {
if gesture.direction == .left {
if (self.tabBarController?.selectedIndex)! < 2
{
self.tabBarController?.selectedIndex += 1
}
} else if gesture.direction == .right {
if (self.tabBarController?.selectedIndex)! > 0 {
self.tabBarController?.selectedIndex -= 1
}
}
}
Это даст вам возможность проводить и перемещаться к различным ViewControllers, а также перемещаться с помощью кнопок Tabbar
.
Надеюсь, это поможет.