【iOS [[UIApplication sharedApplication] delegate]】运用

时间:2023-12-09 13:20:43

  【iOS [[UIApplication sharedApplication] delegate]】理解与运用

之前想要拿到app的窗口,我们通常的写法是:

[UIApplication sharedApplication].keyWindow

这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或者资料中也是这样写的,但是最近在项目,发现这样写是不安全的,如果应用程序没有跳转,这种写法还算是可行的,但是如果应用程序出现了跳转(分享跳转到其他APP,访问系统相册等),这时返回原APP,你会发现加载原窗口上的视图位置会发生明显偏移,查阅了一些资料,发现如果写成

[[[UIApplication sharedApplication]delegate]window]

就不会出现上述问题,如果大家在项目中遇到此问题,不妨试试这种写法。