相关疑难解决方法(0)

如何从UINavigationController弹出视图并在一次操作中将其替换为另一个视图?

我有一个应用程序,我需要从UINavigationController的堆栈中删除一个视图,并将其替换为另一个.情况是第一个视图创建一个可编辑的项目,然后用该项目的编辑器替换它自己.当我在第一个视图中执行明显的解决方案时:

MyEditViewController *mevc = [[MYEditViewController alloc] initWithGizmo: gizmo];

[self retain];
[self.navigationController popViewControllerAnimated: NO];
[self.navigationController pushViewController: mevc animated: YES];
[self release];
Run Code Online (Sandbox Code Playgroud)

我的行为非常奇怪.通常编辑器视图会出现,但如果我尝试使用导航栏上的后退按钮,我会得到额外的屏幕,有些空白,有些只是搞砸了.标题也变得随机.就像导航堆栈完全被冲洗一样.

什么是解决这个问题的更好方法?

谢谢,马特

iphone cocoa-touch uinavigationcontroller uiviewanimation

83
推荐指数
5
解决办法
8万
查看次数

正确地用UINavigationController中的另一个视图替换顶视图

我有一个UINavigationController与以下视图控制器

A - > B(B在顶部)

现在对于B中的一些动作,我想用C替换B(最后它应该是A-> C).

我尝试了以下方法:当B中的动作发生时,我做了一个[self.navigationController popViewControllerAnimated:NO];.在viewWillAppearA 的功能中,我检查是否需要立即按C并​​执行此操作.

问题是当按下C时,过渡动画是一个弹出动画(从右到左滑动)而不是推动.
看起来应用的动画与早期的流行音乐相混淆.

我该如何解决 ?

我尝试在[self.navigationController popViewControllerAnimated:NO];上面传递YES 但是也没有解决问题

cocoa-touch uiviewcontroller uiviewanimation ios

1
推荐指数
1
解决办法
4097
查看次数