SVProgressHUD在某些情況下不顯示的問題解決辦法


SVProgressHUD 是強大的toast工具,但有些情況下會失效。個人遇到的情況是從相冊選擇照片,返回到上一級頁面時,SVProgressHUD就會失效。

解決方法是更改SVProgressHUD默認配置:

[SVProgressHUD setMaxSupportedWindowLevel:NSIntegerMax];

[SVProgressHUD setContainerView:[UIApplication sharedApplication].delegate.window];

導致該問題的原因是:

SVProgressHUD文件中有一個frontWindow對象,負責承載toast內容。而該對象需要滿足以下條件才會不為空:
遍歷UIApplication.sharedApplication.windows,其中window的screen是UIScreen.mainScreen&window可見&level介於UIWindowLevelNormal和maxSupportedWindowLevel(默認2000)之間&window.isKeyWindow時該window才會賦值給frontWindow。

所以,才有上面的兩行代碼設置,第一行是設置level為最大整數,第二行是取delegate的window,[UIApplication sharedApplication].delegate.window不會為nil。

...


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM