iOS 應用提示彈窗

iOS中要彈出和AndroidToast差不多的提示,并不困難,也有著諸多的第三方庫可以使用,但是有些時候我們還是需要自己看一下如何進行實現,比如我們最近的需求,需要在應用進入前臺時彈出一個提示,提示中包含有可點擊的按鈕,那么大部分的第三方庫就不支持了。

其實這個問題并不復雜,反而非常簡單,因為只需要找到最頂層的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];

如此就可以實現我們彈出含有ButtonUIView的需求了。

注意:不要在viewDidLoad中進行彈窗,有可能會無法彈出,因為這個View還沒有出現,當它出現時可能會蓋住彈出的View。

至于彈出之后如何進行消失,只需要一個dispatch_after就可以了,這里也就不再多說。

彈窗測試頁面
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,573評論 25 708
  • 萬圣節的晚上。 男鬼在書店門口遇到一個小女孩,小女孩手里捧著一本書,低頭看著。 感覺到好像有什么東西在眼前,小女孩...
    一只不愛爬樹的考拉閱讀 467評論 1 3
  • 垂首低顏辭花鏡,素畫峨眉憔細柳,塵落幾里無人顧,躑躅,自寬未妨憑觴壺。 南山鳳凰別枝飛,玉碎,金戈鐵馬人未歸,一曲...
    喬韞閱讀 338評論 2 3
  • 迷蒙的天空 嫵媚的小蠻腰 知否,知否 多少浮躁的靈魂 迷失了方向 男人忘卻了家國之責任 渾渾噩噩,紙醉金迷 女人沒...
    81d1aa263da清風閱讀 224評論 3 5
  • 我現在正在讀的是李笑來的《把時間當作朋友》中的第六章更多思考 6.d 開源節流。 作者告訴我們,在時間管理上,最有...
    圓惠閱讀 278評論 0 0