web

WebKitPlus

A support library for WKWebView.

Showing:

Popularity

Downloads/wk

0

GitHub Stars

56

Maintenance

Last Commit

2yrs ago

Contributors

3

Package

Dependencies

0

License

MIT

Categories

Readme

WebKitPlus

Carthage compatible

A support library for WKWebView.

Requirements

  • iOS 8.0 later

Usage

WKUIDelegatePlus

WKUIDelegatePlus has standard implements(Present alerts from JavaScript) for WKUIDelegate.

override public func viewDidLoad() {
    super.viewDidLoad()
    UIDelegate = WKUIDelegatePlus(self)
    webView.UIDelegate = UIDelegate
}

WebViewObserver

It is funtastic that WKWebView has key-value observing compliant properties, but KVO is so ugly. WebViewObserver makes observable it by closure.

lazy var observer: WebViewObserver = WebViewObserver(self.webView)
override public func viewDidLoad() {
    super.viewDidLoad()
    observer.onTitleChanged = { [weak self] in self?.title = $0 }
    observer.onProgressChanged = { [weak self] in self?.progressbar.progress = $0 }
}

Authentication in navigation

alertForAuthentication function create UIAlertController for input informations of authenticcation.

/// in `WKWebNavigationDelegate` object
func webView(webView: WKWebView, didReceiveAuthenticationChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
    guard let alert = alertForAuthentication(challenge, completionHandler) else {
        // Should call `completionHandler` if `alertForAuthentication` return `.None`.
        completionHandler(.PerformDefaultHandling, nil)
        return
    }
    presentViewController(alert, animated: true, completion: nil)
}

ZenWebViewController

ZenWebViewController is a Simple View Controller contains WKWebView. You can implement simple web browser with it.

Author

@yashigani

License

WebKitPlus is available under the MIT license. See the LICENSE file for more info.

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100