SMWebView 1.0

SMWebView 1.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2017年1月
SwiftSwift 版本3.0
SPM支持 SPM

Shai Mishali 维护。



SMWebView

SMWebView 是一个围绕 UIWebView 的令人愉悦、轻量级的 Swift 封装,它允许您利用闭包和链式调用的力量。当然——摆脱那些讨厌的、糟糕的代理!;-)

使用方法

您可以使用 Storyboard 或 SMWebView 的静态方法来创建一个新的 UIWebView,而不是分配一个新的 UIWebView 并分配一个代理给它。

Storyboard / Outlet 使用

使用 Storyboard 设置和我们在 SMWebView Outlet 上调用 loadURL / loadHTML 一样简单,这会将所有这些闭包链式调用的魔法直接带到您的指尖:)

@IBOutlet weak fileprivate var webView: SMWebView! 

...

// Basic Implementation
webView
    .loadURL(URL(string: "https://github.com/freak4pc")!)
    .didCompleteLoading { webView in
        print("Finished loading entire webpage")
    }

// All Options
webView
    .loadURL(URL(string: "https://github.com/freak4pc")!)
    .didStartLoading { webView in
        print("Started loading \(webView.request?.url?.absoluteString)")
    }
    .didFinishLoading { webView in
        print("Finished loading \(webView.request?.url?.absoluteString)")
    }
    .didFailLoading { webView, error in
        print("Failed loading \(error)")
    }
    .didCompleteLoading { webView in
        print("Finished loading entire webpage")
    }
    .shouldStartLoading { webView, request, type in
        return true
    }
经典使用

SMWebView 允许您通过单个语句配置整个 SMWebView,然后设置框架并将其添加到视图层次结构,如下所示

let webView = SMWebView
                .loadURL(URL(string: "https://github.com/freak4pc")!)
                .didCompleteLoading { webView in
                    print("Finished loading URL: \(webView.request?.url?.absoluteString)")
                }

webView.frame = UIScreen.main.bounds
self.view.addSubview(webView)

显然,Storyboard 示例中的所有其他选项在这里都适用。

安装

SMWebView 适用于 CocoaPods。要安装它,请将以下行添加到您的 Podfile 中

pod 'SMWebView'

作者

GitHub Twitter Facebook

Shai Mishali (freak4pc)

许可证

SMWebView 可在 MIT 许可证下使用。有关更多信息,请参阅 LICENSE 文件。