我的应用程序在应用程序购买中使用,如果发现用户没有高级版本,则处理它们尝试使用的函数的类将调用MKStoryKit
,这是一个让StoryKit更容易处理的类。 MKStoryKit
不是视图或视图控制器,它只是用于实用程序。我想要调用的视图是一个自定义视图,它为它们提供了高级版本的功能,并为用户提供了一些选项,同时看起来比系统警报稍微漂亮。在我的iOS应用,从故事板声明视图后(此视图没有塞格斯要把它)使用:从视图控制器外部调用macOS中的视图
NSString *storyboardName = @"Main";
NSString *viewID = @"TermsOfUseQuery";
UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:storyboardName bundle:nil];
UIViewController *Terms = [storyBoard instantiateViewControllerWithIdentifier:viewID];
我所说的下面一行它只是呈现之上先前宣布的UIViewController“条款”无论目前正在发生:
[[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:Terms animated:YES completion:nil];
我想知道是否有类似的macOS方法,我一直无法找到它。我知道,一般来说,iOS上的任何“UI”都会变成“NS”,我已经说明了这一点,比如声明NSViewController。
作为替代方案,我已经成功使用调用从主视图控制器内部的观点:
let board:NSStoryboard = NSStoryboard(name: "Main", bundle: nil)
let viewtest:NSViewController = board.instantiateController(withIdentifier: "termsOfUseVC") as! NSViewController
self.presentViewControllerAsModalWindow(viewtest)
这有我要找的效果,但它必须从MKStoryKit
实现(这是一个Objective-C类)。我想知道是否有人为此提供了解决方案,或者只是在任何时候将视图显示为模式窗口(首选,实际上是单线所做的),或者将其视为当前“顶层”窗口顶部的模态窗口视图?谢谢大家!