我想從NSObject子類展示MFMailComposeViewController。情景是:從NSObject呈現MFMailComposeViewController
- 我UIViewController子類在什麼用戶輕按一鍵啓動某些程序
- 這一進程的所有邏輯取出這個視圖控制器來NSObject的子類
- 如果有什麼不對的過程我正在顯示UIAlertView
- 此alertView中的一個按鈕應打開mailComposer,以便用戶向我發送反饋。
如果我想從NSObject子類嘗試呈現mailComposer,我得到「試圖呈現模態視圖控制器不在類層次結構中」。所以我將我的viewController設置爲MFMailComposeViewController的委託。但通過觸摸alertView上的「發送反饋」按鈕,它消失了,我得到了「試圖呈現模態視圖控制器不在類層次結構中」的錯誤。我想記錄什麼是RootViewController的這樣:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
UIViewController *rootViewController = window.rootViewController;
NSLog(@"rvc - %@", [rootViewController description]);
但日誌顯示,我認爲RVC等於(空)。我可以直接從NSObject提供mailController,或者如何以正確的方式完成?
嘗試此代碼獲取窗口參考: AppDelegate * appDelegate =(AppDelegate *)[[UIApplication sharedApplication] delegate]; UIViewController * rootVC = [appDelegate.window rootViewController]; – Mrunal
@Mrunal執行'UIViewController * rootVC = [UIApplication sharedApplication] .keyWindow.rootViewController;''''更容易。無需獲取涉及的應用程序代理。 – rmaddy