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.
- 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.
- iOS 11.0+
- Xcode 9.0+
- Swift 4.0+
JXWebViewController is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'JXWebViewController'
let url = URL(string: "https://example.com/")!
let webViewController = JXWebViewController()
webViewController.webView.load(URLRequest(url: url))
navigationController?.pushViewController(webViewController, animated: true)
- 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.
Jianqiu Xiao, swordray@gmail.com
JXWebViewController is available under the MIT license. See the LICENSE file for more info.