我的應用程序在應用程序購買中使用,如果發現用戶沒有高級版本,則處理它們嘗試使用的函數的類將調用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類)。我想知道是否有人爲此提供瞭解決方案,或者只是在任何時候將視圖顯示爲模式窗口(首選,實際上是單線所做的),或者將其視爲當前「頂層」窗口頂部的模態窗口視圖?謝謝大家!