Jon*_*an. 31 objective-c uiwindow uiapplication ios
UIApplication有一个方法keyWindow
,但是如果显示警报视图,则返回警报视图的窗口而不是应用程序的主窗口.
如何获得应用程序的主窗口?
Esp*_*sso 53
在UIApplicationDelegate
通常的"主窗口"的参考:
[[[UIApplication sharedApplication] delegate] window];
Run Code Online (Sandbox Code Playgroud)
此外,UIApplication
还有一系列窗户[[UIApplication sharedApplication] windows]
.
请参阅UIApplication类参考.
rma*_*ddy 10
我不是100%肯定这适用于所有情况但这应该工作:
UIWindow *mainWindow = [UIApplication sharedApplication].windows[0];
Run Code Online (Sandbox Code Playgroud)
窗口按顺序排序,因此主窗口应始终位于索引0处.
Swift 3.0版本的rmaddy的答案:
let window = UIApplication.shared.windows.first
Run Code Online (Sandbox Code Playgroud)
我还应该补充一点,因为iOS 8.0 UIAlertController
已被替换UIAlertView
并成为视图控制器,所以您可能不再面临创建新窗口的问题。
归档时间: |
|
查看次数: |
34660 次 |
最近记录: |