我的应用程序有一个用户个人资料页面,我可以从该个人资料转到记录,也可以从记录转到个人资料等(例如instagram,facebook)。这样的过渡可能是无止境的。我将导航控制器与performSegue一起使用。我如何重用视图控制器对象,这样我每次转换时都不必创建新的对象?否则,经过25次迭代后,我的RAM用完了。
答案 0 :(得分:0)
请找到配置文件视图控制器,然后在该视图控制器上弹出。请参见下面的代码。
for viewController in self.navigationController?.viewControllers ?? [] {
if viewController is ProfileViewController {
self.navigationController?.popToViewController(viewController, animated: true)
}
}
对于动画,您可以使用以下代码,以便动画看起来像pushviewController
let transition = CATransition()
transition.duration = 0.5
transition.type = CATransitionType.push
transition.subtype = CATransitionSubtype.fromRight
transition.timingFunction = CAMediaTimingFunction(name:CAMediaTimingFunctionName.linear)
self.navigationController?.view.layer.add(transition, forKey: kCATransition)
self.navigationController?.popToViewController(viewController, animated: false)