В веб-представлении, когда я нажимаю на кнопку просмотра файла, я перехожу на iCloud Drive, когда я нажимаю на кнопку отмены iCloud Drive, затем контроллер веб-представления закрывается и через некоторое время снова отображается, но вид сделалнагрузка вызывается снова я не знаю в чем проблема вот мой код
class WebViewController: UIViewController, WKNavigationDelegate,WKUIDelegate {
private var webView: WKWebView!
private var refController:UIRefreshControl = UIRefreshControl()
private var activityIndicator: UIActivityIndicatorView!
override func viewDidLoad() {
super.viewDidLoad()
loadUrl()
// Do any additional setup after loading the view.
}
private func loadUrl(){
activityIndicator = UIActivityIndicatorView()
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.gray
let statusBarHeight = UIApplication.shared.statusBarFrame.height
webView=WKWebView(frame: CGRect.init(x: 0, y: statusBarHeight, width: view.bounds.maxX, height: view.bounds.maxY))
self.webView.navigationDelegate=self
self.webView.uiDelegate=self
self.view.addSubview(webView)
self.view.addSubview(activityIndicator)
refController.bounds = CGRect.init(x: 0.0, y: 50.0, width: refController.bounds.size.width, height: refController.bounds.size.height)
refController.addTarget(self, action: #selector(self.mymethodforref(refresh:)), for: .valueChanged)
refController.attributedTitle = NSAttributedString(string: "Pull to refresh")
webView.scrollView.addSubview(refController)
let value = ConfigManager.getInstance().getUrl()
let cookie=ConfigManager.getInstance().getCookie()
var url=URLRequest(url: URL(string: "https://helpers.ie/dashboard")!)
url.addValue("ci_session="+cookie, forHTTPHeaderField: "Cookie")
activityIndicator.startAnimating()
self.webView.load(url)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@objc func mymethodforref(refresh:UIRefreshControl){
webView.reload()
refController.endRefreshing()
}
func webView(_ webView: WKWebView,
didFinish navigation: WKNavigation!) {
activityIndicator.stopAnimating()
}
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void){
if (navigationAction.navigationType == WKNavigationType.linkActivated) {
let url=navigationAction.request.url
let str=String(describing:url!)
if str == "https://helpers.ie/user/logout/" || str == "https://helpers.ie/signup" || str == "https://helpers.ie/login"{
ConfigManager.getInstance().removeInfoCookie()
let vc=AppStoryboard.RegisterScreen.viewController(viewControllerClass: LoginViewController.self)
self.present(vc, animated: true, completion: nil)
}
decisionHandler(WKNavigationActionPolicy.allow)
} else {
let url=navigationAction.request.url
decisionHandler(WKNavigationActionPolicy.allow)
}
}
}