小编fer*_*sfa的帖子

WKWebView操作表在被解雇后解除显示视图控制器

我有一个嵌入在NavigationController中的视图控制器(WKWebViewController).这个ViewController提供了一个WKWebView.导航到任何网页后; 并且在长按任何检测到的内容(例如电话号码或链接)时,会显示一个操作表,其中包含复制,共享等选项.问题是当此操作表被取消时,WKWebViewController将被解除,并且显示根ViewController!无论选择是什么,它都可以复制,取消,甚至可以点击屏幕上的任何位置.

我已经尝试重写" 现在(_ viewControllerToPresent:UIViewController,动画标志:Bool,完成:(( - ) - > Void)?= nil) "和" dismiss(动画标志:Bool,完成:(() - > Void)?) "试图理解发生了什么,但后来意识到动作表没有呈现,也没有被其父视图控制器(WKWebViewController)解雇,事实上我在根视图控制器上做了同样的事情,发现它也没有呈现在它上面.

我已经做了很多搜索,试图了解是什么导致了这种行为,我甚至用一个简单的WKWebView构建了一个新项目,并且总是遇到同样的问题.

这是代码:

import UIKit; import WebKit
class WKWebViewController: UIViewController, WKUIDelegate, WKNavigationDelegate {

var destinationUrlString: String?
var myWebView: WKWebView!

override func viewDidLoad() {
    super.viewDidLoad()

    let webConfiguration = WKWebViewConfiguration()
    webConfiguration.dataDetectorTypes = []
    let origin = CGPoint(x: 0, y: 0)
    let size  = CGSize(width: view.frame.size.width, height: view.frame.size.height)
    myWebView = WKWebView(frame: .init(origin: origin, size: size), configuration: webConfiguration)
    myWebView.uiDelegate = self
    myWebView.navigationDelegate = self
    myWebView.allowsLinkPreview = false
    view …
Run Code Online (Sandbox Code Playgroud)

ios swift wkwebview

6
推荐指数
2
解决办法
2002
查看次数

标签 统计

ios ×1

swift ×1

wkwebview ×1