如何确定 UIViewController 是否是根视图控制器?

发布于 2024-09-30 03:22:36 字数 218 浏览 3 评论 0原文

基本上我想知道我所在的视图控制器是否是根视图控制器。

如果不是,我想在导航栏中放一个按钮,上面写着“后退”(就好像它是一个正确的后退按钮 - 这一点我知道该怎么做)。

在你问之前,我已经从我的视图控制器中删除了所有标题 - 我不希望它们显示在我的导航栏上......它非常复杂 - 但这意味着当我浏览我的导航堆栈时没有推送任何内容视图控制器有一个后退按钮。 :/

谢谢 汤姆

basically I want to know if the view controller I'm in is the root view controller or not.

If its not I want to put a button in the nav bar that says "back" (as if it were a proper back button - this bit I know how to do).

Before you ask, I have removed all the titles from my view controllers - I didn't want them to show up on my navigation bar... its very complicated - but this means that when I go through my navigation stack none of the pushed view controllers have a back button. :/

Thanks
Tom

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

苍暮颜 2024-10-07 03:22:37
if ( self != [self.navigationController.viewControllers objectAtIndex:0] )
{
   // Put Back button in navigation bar
}
if ( self != [self.navigationController.viewControllers objectAtIndex:0] )
{
   // Put Back button in navigation bar
}
瑾夏年华 2024-10-07 03:22:37

您还可以尝试:

if (self.navigationController.viewControllers.count == 1) {
    NSLog(@"self is RootViewController");
}

You can also try:

if (self.navigationController.viewControllers.count == 1) {
    NSLog(@"self is RootViewController");
}
江南月 2024-10-07 03:22:37

这是一个快速版本:

// Only works if checking from within the NavigationController:
navigationController?.viewControllers.first == self

// Works if you only have a reference to the NavigationController:
navigationController?.topViewController == navigationController?.viewControllers.first

Here's a swift version:

// Only works if checking from within the NavigationController:
navigationController?.viewControllers.first == self

// Works if you only have a reference to the NavigationController:
navigationController?.topViewController == navigationController?.viewControllers.first
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文