CSafariWebKit 2.0.1

CSafariWebKit 2.0.1

Douglas Mandarino 维护。



  • Douglas Mandarino

CSafariWebKit

一个框架,可以帮助您从应用程序中浏览网页,并轻松配置它。

概述

它作为 SFSafariViewControllerWKWebView 的包装器工作,帮助进行自定义,无需实现代理,并揭示在应用程序内部浏览网页的智能。

开始使用

先决条件

您应用程序的目标至少应为 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,按照以下步骤操作。

  1. 从项目窗口左侧的项目导航器中选择项目文件。
  2. 在项目设置编辑器中,选择您想要添加框架的目标。
  3. 选择“编译阶段”选项卡,然后点击“链接二进制与库”旁边的三角形以查看应用程序中的所有框架。
  4. 要添加框架,请点击框架列表下方的“+”。

使用