jam*_*one 33 iphone objective-c ipad ios
我有一个视图是UIViewController(根)处理广告和UINavigationController.在那个UINavigationController中,我有典型的控制器层.在我的自定义设置表视图控制器中,我有一个按钮与我联系以获得支持.当用户单击此按钮时,我创建了一个MFMailComposeViewController并希望呈现它.我无法从设置表视图中显示它,因为它将位于我的广告下方,因此我需要引用根视图并从那里显示它.我已经尝试过self.parentViewController.parentViewControllerself是设置表视图,但这不起作用.我应该如何参考.直接引用根视图并将其传递给设置视图似乎是一个糟糕的设计.
Til*_*ill 79
获取当前keyWindow:
UIWindow *window = [UIApplication sharedApplication].keyWindow;
Run Code Online (Sandbox Code Playgroud)
获取它的rootViewController:
UIViewController *rootViewController = window.rootViewController;
Run Code Online (Sandbox Code Playgroud)
注意:如果UIAlertView当前正在显示a,则会创建一个新窗口并将其指定为keyWindow.可能还有其他特殊情况,不会使您的应用程序窗口成为keyWindow.
Mus*_*afa 33
根据我的经验,这是获得以下方面的理想解决方案rootViewController:
[[[[UIApplication sharedApplication] delegate] window] rootViewController]
注意:如果处于活动状态,UIAlert或者UIActionSheet您将警报或操作表作为关键窗口.
| 归档时间: |
|
| 查看次数: |
48734 次 |
| 最近记录: |