我正在使用XCode内置的performSegue函数在两个视图之间进行传输。我最初是从带有导航栏的视图转到没有导航栏的视图,它可以完美地工作。当我使用导航栏返回视图时,该栏消失,所有内容都向上移动以适合屏幕。
performSegue(withIdentifier: "goToCameraSegue", sender: self)
performSegue(withIdentifier: "goToMainControllerSegue", sender: self)
我使用这些命令在不同的视图之间转移。我还使用了一个自定义类,以将视图从右向左作为设计。
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)
}
)
}