【发布时间】:2011-09-11 16:03:05
【问题描述】:
我在从导航堆栈中弹出项目时遇到了一些问题,不知道为什么会这样。
Stack
A classA
B classB
C classC
D classD
在堆栈 D 中,我创建另一个 classD 并将其添加到堆栈中。
Stack
A classA
B classB
C classC
D classD
E classD
在创建 E 并将其压入堆栈之前,我会执行弹出操作以摆脱 D 以便堆栈变为
Stack
A classA
B classB
C classC
E classD
但是,当我弹出时,self.navigationController.viewcontrollers 变为 0,并且我卡在 C 上,而 E 不可见。为什么pop只是删除所有内容并转到C?
在 didSelectRowAtIndexPath 的 C 中,我创建了一个 ClassD 并执行以下操作:
[self.navigationController pushViewController:ClassD animated:YES];
在 didSelectRowAtIndexPath 中的 D 处,我创建了另一个 ClassD 并执行以下操作:
[self.navigationController popViewControllerAnimated:NO]; //remove current and replace with new
[self.navigationController pushViewController:ClassD animated:YES];
但它似乎没有按预期做。我感觉从 pop 到 push 的过渡似乎太快了,什么都没有出现?有任何想法吗?
【问题讨论】:
标签: iphone ios uinavigationcontroller