ios – 像prepareForSegue之类的东西,但是回去的时候

ios – 像prepareForSegue之类的东西,但是回去的时候,第1张

概述在我的iOS应用程序中,我在 Xcode中使用带有segues设置的UINavigationController.对于其中一个视图,我想隐藏导航栏,而对于其他视图,我希望它显示出来.我能够在主视图中成功隐藏条形图,然后在我切换到下一个视图时很好地为其设置动画,但当我返回时(使用导航栏中的后退按钮),条形图消失,留下黑色矩形,然后切换回上一个视图.我希望能够通过与prepareForSegue相反的 在我的iOS应用程序中,我在 Xcode中使用带有segues设置的UINavigationController.对于其中一个视图,我想隐藏导航栏,而对于其他视图,我希望它显示出来.我能够在主视图中成功隐藏条形图,然后在我切换到下一个视图时很好地为其设置动画,但当我返回时(使用导航栏中的后退按钮),条形图消失,留下黑色矩形,然后切换回上一个视图.我希望能够通过与prepareForSegue相反的方式捕捉到这一点,并且很好地为导航栏设置动画.有办法做到这一点吗?解决方法 目前还没有prepareForDesegue:sender:prepareForSegue的替代方案:sender:.建议的做法是在目标VIEwController中建立一个引用返回源VIEwController.然后,当目标VIEwController被解除时,它可以通知源VIEwController它将再次成为顶级VIEwController.
通常,引用是在prepareForSegue:sender:中建立的.

因此,为了使这个具体化,让我们假设你有VIEwControllerA,并且即将转向VIEwControllerB.在VIEwControllerB中,您将定义一个引用VIEwControllerA的属性. (这通常使用协议来完成,但为了简化,只需假设VIEwControllerB具有@property VIEwControllerA *委托;.)
然后,在prepareForSegue:sender:中,您将执行以下 *** 作:

VIEwControllerB * vcB = (VIEwControllerB *)[segue destinationVIEwController];vcB.delegate = self;

稍后,在VIEwControllerB中,无论代码是什么让你回到VIEwControllerA,你都会使用self.delegate来回到VIEwControllerA,让它知道它即将被呈现,并让它有机会做你需要的任何事情.使用UINavigationbar.

总结

以上是内存溢出为你收集整理的ios – 像prepareForSegue之类的东西,但是回去的时候全部内容,希望文章能够帮你解决ios – 像prepareForSegue之类的东西,但是回去的时候所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1034663.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存