Я хочу вернуться обратно от второго контроллера к первому, без использования SEGUE, но вместо этого я @IBAction
подключен к моей задней кнопке, ниже код этого метода:Перемещения между контроллерами с TransitionManager
let deviceStoryboard = UIStoryboard(name: "Storyboard", bundle: nil)
let deviceDashView = deviceStoryboard.instantiateViewControllerWithIdentifier("FirstView") as!
self.navigationController!.transitioningDelegate = self.transitionManager
self.navigationController!.pushViewController(deviceDashView, animated: true)
As вы можете видеть, что я пытаюсь прикрепить свой собственный TransitionManager
. Я создал его, потому что хочу иметь переходную анимацию, как «слева направо», и по умолчанию это наоборот.
Я знаю, как прикрепить свой TransitionManager, если я меняю вид с помощью segue, но пробовал различную конфигурацию для navigation controller
, и ни один из них не работает.
Где я могу сделать ошибку?
это правильно ?: vc.transitioningDelegate = само не должна быть ссылка на мой TransitionManager ? – shtas
Нет, пример верен, TransactionManager реализует UIViewControllerTransitioningDelegate, а контроллер представления, выполняющий переход, должен установить этот делегат сам по себе, как в примере. Я просто копирую и прошёл здесь из рабочей формы входа в один из моих приложений. – Icaro
Когда я устанавливаю ее самостоятельно, я получаю сообщение об ошибке в строке с vc.transitioningDelegate = self: Невозможно присвоить значение типа ' MyControllerWithButton 'для значения типа' UIViewControllerTransitioningDelegate? ' Кроме того, где я должен помещать этот флаг «isPresenting» в мой класс Controller или TransitionManager? – shtas