谁能帮我理解以下两行之间的区别:
[UIApplication.sharedApplication.delegate.window addSubview:myView];
[UIApplication.sharedApplication.keyWindow addSubview:myView];
对于大多数用途来说,它们是相同的……但并非总是如此。
[UIApplication sharedApplication].keyWindow
是设备上当前显示的窗口。这通常是应用程序的窗口,但也可能是系统窗口。
[UIApplication sharedApplication].delegate.window
是您的应用程序预期使用的窗口。
应该使用哪一个?好吧,这一切都取决于上下文。
如果您要更新应用程序的一部分,那么您应该将视图添加到应用程序的窗口中。这几乎总是您想做的事情。
就我个人而言,我总是使用[[UIApplication sharedApplication].delegate.window addSubview:view]
or [self.view.window addSubView:view]
(之内UIViewController
)当我需要直接向窗口添加视图时。
有时您可能想要向当前显示的窗口呈现视图,无论该窗口是属于您的应用程序还是某个系统窗口。我没有遇到这种情况。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)