如何在不使用导航栏的情况下将控制器从导航堆栈中弹出

Ste*_*eve 1 iphone uinavigationcontroller

我正在尝试使用一些分层视图实现导航控制器.我想使用常规的UIViewController来呈现向下钻取的选项,我不想使用导航栏 - 我想拥有自己的自定义按钮来返回一个级别.

我看到如下例子:

[[self navigationController] pushViewController:nextViewController animated:YES];
Run Code Online (Sandbox Code Playgroud)

我的问题是这些:是navigationController所有UIViewControllers的属性吗?self.navigationController无论堆栈中的视图如何,我都可以参考吗?如果我处于任意视图中,我是否可以使用包含类似内容的按钮操作[self.navigationController popToRootViewController animated:YES];

我提供的每个视图都需要一个按钮来返回上一个视图或根视图,具体取决于具体情况.我想在每个视图控制器中创建该按钮,并控制它返回的堆栈中的哪个视图.我是在正确的轨道上吗?

Dou*_*aan 8

navigationController是所有UIViewControllers的属性吗?

是.

我可以参考self.navigationController,无论堆栈上的视图是什么?

每个UIViewControllerUINavigationController的堆栈将返回UINavigationController时调用的对象navigationController就可以了.

如果我处于任意视图中,我是否可以使用包含类似内容的按钮操作 [self.navigationController popToRootViewControllerAnimated:YES];

是.popToRootViewControllerAnimated:将采取用户到根UIViewControllerUINavigationController,你可以用[self.navigationController popViewControllerAnimated:YES];刚刚流行过顶UIViewController.最后一个与点击它相同Back UIBarButtonItem.

我是在正确的轨道上吗?

是的:)