JXWebViewController
JXWebViewController copied to clipboard
An iOS view controller wrapper for WKWebView
JXWebViewController
An iOS view controller wrapper for WKWebView.
Since iOS 8, WKWebView is preferred over UIWebView. But unlike UIWebView, WKWebView provide less default behaviors due to the security design. JXWebViewController wrap up a WKWebView and implements a few standard features as iOS Safari does. So web views can be easily used in your apps out-of-the-box. It is also referred to as WebViewController, UIWebViewController or WKWebViewController.
Features
- Allows back forward navigation gestures.
- Support HTTP Basic access authentication.
- Implement JavaScript
alert
,confirm
andprompt
. - Open native links of
mailto
,tel
,itms-apps
and so on. - Open and close pages in current view.
- Reload when web content process is terminated.
- Perform auto detection of phone numbers.
- Proxy the page title to the controller title.
- Add the refresh control.
- Support Handoff from app to Safari.
Requirements
- iOS 11.0+
- Xcode 9.0+
- Swift 4.0+
Installation
JXWebViewController is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'JXWebViewController'
Usage
Quick Start
let url = URL(string: "https://example.com/")!
let webViewController = JXWebViewController()
webViewController.webView.load(URLRequest(url: url))
navigationController?.pushViewController(webViewController, animated: true)
Customization
- Use
webView
property to access the WKWebView instance. - Use
webViewConfiguration
property to set up WKWebViewConfiguration before view is loaded. - Create a
JXWebViewController
subclass which implements or overrides WKNavigationDelegate and WKUIDelegate methods.
Credits
Jianqiu Xiao, [email protected]
Sponsors
License
JXWebViewController is available under the MIT license. See the LICENSE file for more info.