iOS 应用提示弹窗

  • Post author:
  • Post category:其他




iOS

中要弹出和

Android



Toast

差不多的提示,并不困难,也有着诸多的第三方库可以使用,但是有些时候我们还是需要自己看一下如何进行实现,比如我们最近的需求,需要在应用进入前台时弹出一个提示,提示中包含有可点击的按钮,那么大部分的第三方库就不支持了。

其实这个问题并不复杂,反而非常简单,因为只需要找到最顶层的

window

,把我们要进行弹窗的

UIView

加上去就可以了。而获取顶层

window

的代码如下:

- (UIWindow *)getTopWindow {
     UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
    if (!keyWindow) {
        // 有可能keyWindow不存在
        keyWindow = [UIApplication sharedApplication].windows.firstObject;
    }
    return keyWindow;
}

调用这个方法,就可以获取到顶层

window

,获取到之后,就可以使用

addSubview:

添加自定义的View了,不要忘记在添加之后,使用

bringSubviewToFront:

把自定义View放在最上层。

UIWindow *topWindow = [self getTopWindow];
[topWindow addSubview:customView];
[topWindow bringSubviewToFront:customView];

如此就可以实现我们弹出含有

Button



UIView

的需求了。


注意:不要在

viewDidLoad

中进行弹窗,有可能会无法弹出,因为这个View还没有出现,当它出现时可能会盖住弹出的View。

至于弹出之后如何进行消失,只需要一个

dispatch_after

就可以了,这里也就不再多说。




版权声明:本文为Ziank原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。