[Swift通天遁地]一、超级工具-(13)使用PKHUD制作各种动态提示窗口
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10153694.html
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
首先确保在项目中已经安装了所需的第三方库。
点击【Podfile】,查看安装配置文件。
1 platform :ios, '12.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://github.com/CocoaPods/Specs.git' 6 pod 'PKHUD', '~> 4.0' 7 end
根据配置文件中的相关配置,安装第三方库。
然后点击打开【DemoApp.xcworkspace】项目文件。
在项目导航区,打开视图控制器的代码文件【ViewController.swift】
现在编写代码,创建各种动态提示效果的窗口。
1 import UIKit 2 //在当前的类文件中引入已经安装的第三方类库 3 import PKHUD 4 5 class ViewController: UIViewController { 6 7 override func viewDidLoad() { 8 super.viewDidLoad() 9 // Do any additional setup after loading the view, typically from a nib. 10 11 //1.创建一个闪现的提示窗口, 12 //窗口的类型为成功,持续的显示时间是2秒,默认的值为0 13 HUD.flash(.success, delay: 2.0) 14 15 //2.对代码进行一些修改 16 //弹出窗口的类型有多种 ,除了刚刚的成功类型的弹出窗口之外。 17 //这里创建一个错误类型的提示窗口。 18 HUD.show(.error) 19 //设置窗口在显示两秒钟之后自动隐藏 20 HUD.hide(afterDelay: 2.0) 21 22 //3.对代码进行一些修改 23 //创建一个闪现的提示窗口,并在显示1秒钟之后自动隐藏, 24 //同时执行一段代码 25 HUD.flash(.success, delay: 1.0) { finished in 26 //当窗口隐藏时,在控制台输出提示语句 27 print("HUD ends.") 28 } 29 30 //4.对代码进行一些修改 31 //创建一个进度类型的提示窗口 32 HUD.show(.progress) 33 //然后2秒钟之后隐藏提示窗口 34 //同时在窗口隐藏时执行一段代码 35 HUD.hide(afterDelay: 2, completion: { finished in 36 //当提示窗口隐藏后,显示另一个提示窗口。 37 HUD.flash(.success, delay: 1.0) 38 }) 39 40 //5.对代码进行一些修改 41 //根据实际情况,设置当弹出提示窗口之后,是否还允许用户的交互操作。 42 HUD.allowsInteraction = true 43 //设置是否显示提示窗口下方的深色背景。 44 HUD.dimsBackground = true 45 //在此创建一个含有文字标签的提示窗口, 46 //并在显示3秒钟之后自动隐藏 47 HUD.flash(.label("Please Wait...."), delay: 3) 48 49 //6.对代码进行一些修改, 50 //将文字标签和进度展示结合的提示窗口, 51 //并设置标题和子标题的内容。 52 HUD.flash(.labeledProgress(title: "Please Wait", 53 subtitle: "Saving...."), 54 delay: 3) 55 56 //7.对代码进行一些修改, 57 //从项目中读取一张图片素材 58 //与上一个提示窗口相似,将文字标签和进度展示结合的提示窗口, 59 //只是旋转图标被替换为自定义的图片 60 let image = UIImage(named: "YammiStar") 61 HUD.flash(.labeledRotatingImage(image: image, 62 title: "Please Wait....", 63 subtitle: "Uploading...."), 64 delay: 3) 65 } 66 67 override func didReceiveMemoryWarning() { 68 super.didReceiveMemoryWarning() 69 // Dispose of any resources that can be recreated. 70 } 71 }