gpt4 book ai didi

ios - 禁用导航栏动画

转载 作者:行者123 更新时间:2023-12-02 07:53:00 25 4
gpt4 key购买 nike

我正在开发一个基于导航的应用程序。我有几个 View Controller ,我在不同的场合将其插入导航 Controller 。以下是我用来推送新 View Controller 的代码。

AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];
[self.navigationController pushViewController:anotherViewController animated:YES];
[anotherViewController release];

我注意到的一件事是,当插入新的 View Controller 时,导航栏也会动画(滑动)。我在导航栏中有一个后退按钮、标题文本和右键。所以当导航栏动画时看起来很奇怪。

有什么方法可以保持导航栏固定并且 View 仅在推送新 View Controller 时才动画吗?

最佳答案

我尝试了很多不同的方法,但没有任何效果。最后我使用了一个解决方法:

1) 将第一个 View Controller 的当前 View (self.view)交给第二个 View Controller 2)用例如做一个pushViewController淡入淡出过渡。将第二个 View Controller 设置为动画的委托(delegate),以通知第二个 Controller 过渡是否完成3)在第二个 View Controller 的viewDidLoad中保存第二个 View Controller 的 View 并将第一个 View Controller 的 View 设置为self.view

现在显示应该看起来像第一个 View Controller 的内容以及第二个 View Controller 的导航栏(如果有,还有工具栏)。

最后在第二个 View Controller 中(在动画的委托(delegate)方法中)执行您想要为内容执行的转换,例如翻转。

基本上可以。我仍然需要解决一些问题,包括 View 的正确位置以及在我的应用程序的第一个 View Controller 中恢复 View 。

但这至少应该给你一个提示。

更新:修复了剩余问题。这有点棘手,因为第一个 View Controller 驻留在 ScrollView 中。翻转出去没什么大不了的,但是翻转回 ScrollView 就是一件令人讨厌的事情。

关于ios - 禁用导航栏动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2388853/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com