ios - 弹出 View Controller 到通用 View Controller

标签 ios objective-c uinavigationcontroller

我有一个类似仪表板的应用程序,有时我想回到“仪表板” View Controller 。我无法更改 Root View Controller 。我完成这项任务的方式是通过一个静态实例。我使用这段代码:

static DashboardViewController *instance;
+ (instancetype) instance {
  return instance;
}

此实例在 viewDidLoad 中设置为 self。

所以当我想弹出这个 Controller 时,我使用:
  [self.navigationController popToViewController:[DashboardViewController instance] animated:YES];

我想知道这是要走的路还是应该有所不同?

最佳答案

试试这个,

for (UIViewController  *viewController in [self.navigationController viewControllers]) {

    //you can also use NSClassFromString(@"DashboardViewController") instead of [DashboardViewController class]
    if ([viewController isKindOfClass:[DashboardViewController class]]) {
        [self.navigationController popToViewController:viewController animated:YES];
    }
}

关于ios - 弹出 View Controller 到通用 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22066294/

相关文章:

ios - Xcode下架构x86_64的重复符号

ios - UICollectionView水平分页布局

ios - 如何检测是否从导航 Controller 弹出 View Controller ?

ios - 不同 viewController 通用的 UIScrollView

ios - 传递参数使代码运行 "slower"?

ios - iOS 上的 iTunes 应用程序评论来自应用程序

ios - 如何让 Xcode 在 header 中显示编译错误?

objective-c - 带有 solo 标签的 NSXMLElement。 IE。 <标记名属性名=属性值/>

ios - 在推送/呈现之前设置 UIViewController

ios - 无法更改从 Nib 加载的 UIView 的高度