我要从WKWebView,切换到UIWebView,不知道如何设置使用 Reader.的配置

有人能帮我吗?
viewDidLoad
WKWebViewConfiguration *config = [NSClassFromString(@"WKWebViewConfiguration") alloc] init];
// Configuration of Reader goes here?
wkWebView = [[wkWebViewClass alloc] initWithFrame:frame configuration:config];
[self.view addSubview:wkWebView];
}发布于 2014-10-11 16:44:06
您不能为WKWebView (或UIWebView)启用“读取器”模式。
编辑:但是,您可以使用SFSafariViewController完成此操作,如另一种解决方案所示。
我突然意识到,可以修改网站的HTML代码,使其看起来更像Reader。似乎有些服务已经这样做了,比如Readability:
只需将该URL加载到您的WKWebView:HERE中即可。
这将帮助您实现与Reader类似的功能。
发布于 2018-03-16 18:32:55
只需改进@dzensik答案,因为'init(url:entersReaderIfAvailable:)‘在iOS 11.0中被废弃。
import UIKit
import SafariServices
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
let urlString = "http://google.com"
let url = URL(string: urlString)
let configuration = SFSafariViewController.Configuration()
configuration.entersReaderIfAvailable = true
let safariVC = SFSafariViewController(url: url!, configuration: configuration)
present(safariVC, animated: true, completion: nil)
}
}发布于 2016-07-15 17:53:51
@dfmuir是对的,UIWebView或WKWebView不提供读取器模式。然而,正如拜格所说,您可以使用SFSafariViewController来实现这一点。下面我们使用一个简单的Swift代码来做到这一点:
import UIKit
import SafariServices
class ViewController: UIViewController {
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
let urlString = "http://google.com"
let url = URL(string: urlString)
let safariVC = SFSafariViewController(url: url!, entersReaderIfAvailable: true)
present(safariVC, animated: true, completion: nil)
}
}https://stackoverflow.com/questions/26199134
复制相似问题