[Swift通天遁地]七、数据与安全-(7)创建文件浏览器:以可视化的方式浏览沙箱文件

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
➤微信公众号:山青咏芝(shanqingyongzhi)
➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
➤GitHub地址:https://github.com/strengthen/LeetCode
➤原文地址:https://www.cnblogs.com/strengthen/p/10307061.html 
➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

目录:[Swift]通天遁地Swift

本文将演示使用开源类库实现可视化的方式浏览沙箱文件目录。

首先确保在项目中已经安装了所需的第三方库。

点击【Podfile】,查看安装配置文件。

1 platform :ios, '12.0'
2 use_frameworks!
3 
4 target 'DemoApp' do
5     source 'https://github.com/CocoaPods/Specs.git'
6     pod 'FileBrowser'
7 end

根据配置文件中的相关配置,安装第三方库。

在项目导航区,打开视图控制器的代码文件【ViewController.swift】

 1 import UIKit
 2 //引入已经安装的第三方类库
 3 import FileBrowser
 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         //添加一个按钮,当用户点击该按钮时,弹出文件浏览器窗口。
12         let button = UIButton(type: .roundedRect)
13         //设置按钮的显示区域
14         button.frame = CGRect(x: 80, y: 180,  150, height: 44)
15         //设置按钮的背景颜色为橙色
16         button.backgroundColor = UIColor.orange
17         //设置按钮的前景颜色为白色
18         button.tintColor = UIColor.white
19         //设置按钮在正常状态下的标题文字
20         button.setTitle("Open file browser", for: .normal)
21         //给按钮绑定点击事件
22         button.addTarget(self, action: #selector(ViewController.openFileBrowser(_:)), for: UIControl.Event.touchUpInside)
23         
24         //设置根视图的背景颜色为橙色
25         self.view.backgroundColor = UIColor.orange
26         //将按钮添加到根视图
27         self.view.addSubview(button)
28     }
29     
30     //添加一个方法,用来响应按钮的点击事件
31     @objc func openFileBrowser(_ button:UIButton)
32     {
33         //初始化一个文件浏览器对象
34         let fileBrowser = FileBrowser()
35         //以模态窗口的方式,打开浏览器窗口。
36         self.present(fileBrowser, animated: true, completion: nil)
37         
38         //处理用户在文件浏览器中,选择某个图片文件的事件。
39         fileBrowser.didSelectFile = { (file: FBFile) -> Void in
40             //获得被选择的文件在沙箱中的路径。
41             let imagePath = NSHomeDirectory() + "/Documents/"+file.displayName
42             //添加一个异常捕捉语句,用来完成读取选择文件的任务。
43             do
44             {
45                 //转换文件路径的格式
46                 let url = URL(fileURLWithPath: imagePath)
47                 //加载指定的文件,并存储在数据对象中。
48                 let data = try Data(contentsOf: url)
49                 //使用数据对象,生成一个图片文件。
50                 let img = UIImage(data: data)
51                 //初始化一个图像视图,用来显示用户选择的图片。
52                 let imageView = UIImageView(image: img)
53                 //并将图像视图添加到根视图中。
54                 self.view.addSubview(imageView)
55             }
56             catch
57             {
58                 print("Something went wrong :(")
59             }
60         }
61     }
62     
63     override func didReceiveMemoryWarning() {
64         super.didReceiveMemoryWarning()
65         // Dispose of any resources that can be recreated.
66     }
67 }
原文地址:https://www.cnblogs.com/strengthen/p/10307061.html