Как оптимизировать код hidesBackButton для анимации в segue?

-5

Я делаю DynamicVC от DynamicVC к SearchVC программно:

@objc func goToSearchVC() {

let searcVC = SearchVC()

//Hide system navigation controller back button
searcVC.navigationItem.hidesBackButton = true
searcVC.navigationItem.rightBarButtonItem = UIBarButtonItem(image: UIImage(named: "closeBtn_20"), style: .plain, target: self, action: #selector(closeBtnTapped))
searcVC.navigationItem.title = ""

navigationController?.pushViewController(searcVC, animated: true)
searcVC.view.backgroundColor = .lightGray
}

hidesBackButton выполняется очень медленно, кнопка "Назад" мигает в анимации segue:

hidesBackButton executes very slowly

Как я могу это исправить? Можно ли это оптимизировать? Благодарю.

спросил(а) 2021-01-25T14:45:57+03:00 5 месяцев назад
1
Решение
118

Я решил проблему с мигающей кнопкой "Назад", используя этот код:

let transition:CATransition = CATransition()
transition.duration = 0.5
transition.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)
transition.type = kCATransitionPush
transition.subtype = kCATransitionFromRight
self.navigationController!.view.layer.addAnimation(transition, forKey: kCATransition)
self.navigationController?.pushViewController(searchVC, animated: false)

другие типы перехода для использования:

kCATransitionFromLeft

kCATransitionFromBottom

kCATransitionFromRight

kCATransitionFromTop

ответил(а) 2021-01-25T14:45:57+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема