Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import UIKit
- import WebKit
- class ViewController: UIViewController {
- var webView: WKWebView!
- var popupWebView: WKWebView!
- let userAgent = "Mozilla/5.0 (X11; CrOS x86_64 13099.19.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.33 Safari/537.36"
- override func viewDidLoad() {
- super.viewDidLoad()
- setupWebView()
- loadWebView()
- }
- func loadWebView() {
- if let url = URL(string: "https://play.geforcenow.com/") {
- let urlRequest = URLRequest(url: url)
- webView.load(urlRequest)
- }
- }
- func setupWebView() {
- let preferences = WKPreferences()
- preferences.javaScriptEnabled = true
- preferences.javaScriptCanOpenWindowsAutomatically = true
- let configuration = WKWebViewConfiguration()
- configuration.preferences = preferences
- webView = WKWebView(frame: view.bounds, configuration: configuration)
- webView.customUserAgent = userAgent
- webView.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- webView.uiDelegate = self
- webView.navigationDelegate = self
- view.addSubview(webView)
- }
- }
- extension ViewController: WKUIDelegate, WKNavigationDelegate {
- //MARK: Creating new webView for popup
- func webView(_ webView: WKWebView, createWebViewWith configuration: WKWebViewConfiguration, for navigationAction: WKNavigationAction, windowFeatures: WKWindowFeatures) -> WKWebView? {
- popupWebView = WKWebView(frame: view.bounds, configuration: configuration)
- popupWebView!.customUserAgent = userAgent
- popupWebView!.autoresizingMask = [.flexibleWidth, .flexibleHeight]
- popupWebView!.navigationDelegate = self
- popupWebView!.uiDelegate = self
- let closeButton = UIButton(type: .close)
- closeButton.frame = CGRect(x: view.bounds.width - 66, y: 16, width: 50, height: 50)
- closeButton.addTarget(self, action: #selector(closeTapped), for: .touchUpInside)
- popupWebView.addSubview(closeButton)
- view.addSubview(popupWebView!)
- return popupWebView!
- }
- //MARK: To close popup
- func webViewDidClose(_ webView: WKWebView) {
- if webView == popupWebView {
- popupWebView?.removeFromSuperview()
- popupWebView = nil
- }
- }
- @objc func closeTapped(sender: Any) {
- webViewDidClose(popupWebView)
- }
- }
Add Comment
Please, Sign In to add comment