Я собрал свое первое приложение в swift и создал собственный переход, чтобы слайды моей раскадровки были представлены (скользящими) слева направо. Код в моем пользовательском классе segue, который я получил от iOS Segue - Слева направо - , приведен ниже:
import UIKit
class SegueFromLeft: UIStoryboardSegue {
override func perform() {
let src = self.source
let dst = self.destination
src.view.superview?.insertSubview(dst.view, aboveSubview: src.view)
dst.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)
UIView.animate(withDuration: 0.25,
delay: 0.0,
options: .curveEaseInOut,
animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
},
completion: { finished in
src.present(dst, animated: false, completion: nil)
}
)
}
}
Я изменил некоторые переходы в моей раскадровке на это обычай Последовательность подключения моего начального контроллера вида к контроллеру навигации, который затем подключается к другому контроллеру вида, работает правильно Однако при выполнении другого перехода происходит анимация, но сразу после этого экран зависает.
Этот снимок моей раскадровки, на котором показаны функционирующие и дисфункциональные сегменты
После того, как симулятор зависает, эта строка в классе SegueFromLeft помечается ошибкой:
src.present(dst, animated: false, completion: nil)
В сообщении об ошибке указано «Поток 1: EXC_BAD_ACCESS (code = 2, address = 0x7ffee5c39fb8)», что, по моему мнению имеет какое-то отношение к распределению памяти, но не знаю, как это исправить или почему это происходит.
Мы очень признательны за помощь в устранении этой ошибки.
Спасибо!