그래서 View Controller와 Navigation Controller가 2 대 있습니다. 화면을 클릭하면 첫 번째 VC가 두 번째 VC와 연결되고 첫 번째 VC로 돌아가려면 세그 (segue)를위한 뒤로 버튼이 있습니다.Segue 애니메이션이 제대로 작동하지 않습니다.
저는 각자의 수직 애니메이션이 싫었습니다. 그래서 약간의 도움으로 맞춤 애니메이션을 만들었습니다.
첫 번째 VC는 오른쪽에서 왼쪽으로 움직이는 애니메이션과 잘 작동합니다. 그러나 이것이 끝나면 2 차 벤처 캐피털은 긴장을 풀고 싶지 않습니다 (두 번째 VC는 왼쪽에서 오른쪽으로 진행해야합니다).
나는이 경고를받을 수 있나요 ..
경고 : TestApp.HomeViewController에 0x7fce2082b000 : UINavigationController가를 제시하는 시도 누구의보기 창 계층 구조에없는 0x7fce20410030!
또한 첫 번째 VC Segue에서 스크립트를 가져 오면 두 번째 VC에서 적절한 애니메이션을 풀 수 있습니다.
1 VC 마우스 오른쪽 애니메이션에 왼쪽 왼쪽 애니메이션
let dst = self.destination
let src = self.source
let containerView = src.view.superview
dst.view.transform = CGAffineTransform(translationX: src.view.frame.size.width, y: 0)
containerView?.addSubview(dst.view)
UIView.animate(withDuration: 0.25, delay: 0.0, options: UIViewAnimationOptions.curveEaseInOut, animations: {
dst.view.transform = CGAffineTransform(translationX: 0, y: 0)
}, completion: { success in
src.present(dst, animated: false, completion: nil)
})
이
let dst = self.destination
let src = self.source
src.view.superview?.insertSubview(dst.view, at: 0)
UIView.animate(withDuration: 0.25, delay: 0.0, options: UIViewAnimationOptions.curveEaseInOut, animations: {
src.view.transform = CGAffineTransform(translationX: -src.view.frame.size.width, y: 0)
}, completion: { success in
src.dismiss(animated: false, completion: nil)
})
어떤 도움이 될 것
@IBAction func performSegue(_ sender: Any) {
if shouldPerformSegue(withIdentifier: "segue", sender: Any?.self) {
performSegue(withIdentifier: "segue", sender: nil)
}
}
@IBAction func unwindToHomeView(segue: UIStoryboardSegue) {
}
override func unwind(for unwindSegue: UIStoryboardSegue, towardsViewController subsequentVC: UIViewController) {
let segue = SegueFromLeft(identifier: unwindSegue.identifier, source: unwindSegue.source, destination: unwindSegue.destination)
segue.perform()
}
오른쪽에 : 여기
은 segues에 대한 코드입니다 대단히 감사하다. ated.
그래서 .. 나는 멀리 애니메이션했다. 내 애니메이션의 솔루션은 상당히 간단했습니다. 네비게이터의 위치를 바꿔서 초기 뷰 컨트롤러로 사용하는 것이 트릭을 만들었습니다. 애니메이션이나 푸시 문제 수정. –
내 구체적인 질문에 대한 답을 얻지 못하기 때문에 내 솔루션을 내려야할지 모르겠습니다. –