CSafariWebKit
一个框架,可以帮助您从应用程序中浏览网页,并轻松配置它。
概述
它作为 SFSafariViewController 和 WKWebView 的包装器工作,帮助进行自定义,无需实现代理,并揭示在应用程序内部浏览网页的智能。
开始使用
先决条件
您应用程序的目标至少应为 iOS 9.0。如果您没有克隆它,那么您将需要 CocoaPods。
安装
您可以选择将其克隆并添加为框架,或者从 CocoaPods 作为依赖项使用
CocoaPods
进入您的 Podfile 并添加
pod `CSafariWebKit`
然后,在终端中运行
pod install
现在您可以打开 您的App.xcworkspace
如何使用它
首先,将框架导入您要使用的 ViewController。
import CSafariWebKit
SFSafariViewController
您可以将其作为 UIViewController 接收
let vc = WebView.safari.load(url: url)
self.present(vc, animated: true, completion: nil)
或者直接从您的 ViewController 中展示
WebView.safari.present(url: url, from: self)
WebView.safari.present(url: url, from: self, whenDidClose: { doSomething() })
WebView.safari.present(url: url, from: self, whenDidClose: { doSomething() })
WebView.safari.present(url: url, from: self, dismissButtonStyle: .cancel,
whenDidClose: { doSomething() })
WebView.safari.present(url: url, from: self, dismissButtonStyle: .cancel,
barTintColor: .blue, tintColor: .white, whenDidClose: { doSomething() })
WebView.safari.present(url: url, from: self, dismissButtonStyle: .cancel,
presentModally: true, barCollapsingEnabled: true, entersReaderIfAvailable: true,
barTintColor: .blue, tintColor: .white, whenDidClose: { doSomething() })
其中
- url - 要加载的 URL。
- previousViewController - 将展示浏览器的 ViewController。
- dismissButtonStyle - 表示应在 SafariViewController 中显示哪个按钮来关闭它。
- presentModally - 表示 SafariViewController 是否应以模态方式展示。
- barCollapsingEnabled - 当用户滚动网页内容时,是否启用导航栏折叠和底部工具栏隐藏。
- entersReaderIfAvailable - 表示 SafariViewController 是否应自动显示网页的阅读器版本。这只会发生在网页上有 Safari 阅读器可用时。
- barTintColor - 应用到导航栏背景的着色颜色。
- tintColor - 应用到导航项和栏按钮项的着色颜色。
- whenDidClose - 当用户关闭浏览器时作为回调使用的方法。
WKWebView
您可以将其作为 UIViewController 接收
let vc = WebView.webview.load(url: url)
self.present(vc, animated: true, completion: nil)
或者直接从您的 ViewController 中展示
WebView.wkWebView.present(url: url, from: self)
WebView.wkWebView.present(url: url, from: self, whenDidClose: { doSomething() })
WebView.wkWebView.present(url: url, from: self, whenDidClose: { doSomething() })
WebView.wkWebView.present(url: url, from: self, closeButtonName: "Close", buttonSide: .left,
barTintColor: .blue, tintColor: .white, whenDidClose: { doSomething() })
WebView.wkWebView.present(url: url, from: self, closeButtonName: "Close", buttonSide: .left,
barTintColor: .blue, tintColor: .white, title: "My Screen", whenDidClose: { doSomething() })
WebView.wkWebView.present(url: url, from: self, closeButtonName: "Close", buttonSide: .left,
barTintColor: .blue, tintColor: .white, title: "My Screen",
userAgent: userAgent, whenDidClose: { doSomething() })
其中
- url - 要加载的 URL。
- previousViewController - 将展示浏览器的 ViewController。
- closeButtonName - 设置用于关闭按钮的自定义名称。
- closeButtonName - 设置用于关闭按钮的自定义名称。
- buttonSide - 表示按钮应显示在哪一侧。
- barTintColor - 应用到导航栏背景的着色颜色。
- tintColor - 应用到导航项和栏按钮项的着色颜色。
- title - 为 NavigationBar 设置标题。
- userAgent - 向您的WebView中添加UserAgent。
- whenDidClose - 当用户关闭浏览器时作为回调使用的方法。
框架
克隆此项目,将 CSafariWebKit.framework 复制到您的项目中。然后打开Xcode,按照以下步骤操作。
- 从项目窗口左侧的项目导航器中选择项目文件。
- 在项目设置编辑器中,选择您想要添加框架的目标。
- 选择“编译阶段”选项卡,然后点击“链接二进制与库”旁边的三角形以查看应用程序中的所有框架。
- 要添加框架,请点击框架列表下方的“+”。
使用
- CocoaPods - 依赖关系管理