ios - 从 SDK 返回 App

标签 ios objective-c xcode frameworks

我创建了一个框架,里面有 3 个 View Controller

用户APP View 名称

userViewController
      |
      clickherebtn      to load Framework

框架应用 View :

sdkview1controller
sdkview2controller
sdkview3controller

从应用程序到框架流程的调用

在点击 clickherebtn 时,我加载了这样的框架 tutorial way

从简单使用的sdkview1controller View 返回

    [self dismissViewControllerAnimated:NO completion:nil];

但是如果我的调用 View 是这样的

用户 View Controller ->sdkview1controller->sdkview2controller->sdkview3controller

现在我想在点击 sdkview3controller 中的后退按钮时跳回到 userViewController

注意:userViewController 的名称不固定,所以我的问题是 如何返回到应用程序 View ,直接跳过我的框架中所有已加载的 View ?

最佳答案

UIViewController *vc = self.presentingViewController;
NSArray* classes = @[[sdkview1controller class],
[sdkview2controller class],
[sdkview3controller class]];

while (vc.presentingViewController) {
     vc = vc.presentingViewController;

   if(! [classes containsObject:[vc class]])
         break;
}
[vc dismissViewControllerAnimated:YES completion:NULL];

如果您使用 presentViewController: 添加了所有 View Controller (我假设您这样做了),这将关闭所有链并让用户返回到 userViewController

关于ios - 从 SDK 返回 App,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35124568/

相关文章:

ios - 来自 WSDL 的 Objective-C 的 SOAP 客户端生成器?

objective-c - 如何使标签中的文字变大?

ios - 对同一个 ViewController 使用不同的 swift 文件?

ios - 当应用商店中有新的更新(最新版本)时,需要在我的 iOS 应用程序中显示通知

ios - 准备(对于 segue : UIStoryboardSegue, 发件人 : AnyObject?)在 swift 3.0/Xcode 8 b6 中丢失

objective-c - objective-c : UIScrollView inside a UIScrollView

objective-c - 无法在 OS X 中构建模块 'Cocoa'

ios - 在属性标签上获取动态类型

ios - 将容器 View Controller 嵌套在另一个容器 View Controller 中

ios - 无法从 XCTest 访问应用程序代码