5 objective-c uiwebview ios ios8 wkwebview
我正在切换UIWebView
到WKWebView
,并且无法弄清楚如何设置我的配置以供使用Reader
.
有没有人可以帮助我?
viewDidLoad
:
WKWebViewConfiguration *config = [NSClassFromString(@"WKWebViewConfiguration") alloc] init];
// Configuration of Reader goes here?
wkWebView = [[wkWebViewClass alloc] initWithFrame:frame configuration:config];
[self.view addSubview:wkWebView];
}
Run Code Online (Sandbox Code Playgroud)
您无法为WKWebView(或UIWebView)启用"Reader"模式.
编辑:您可以使用SFSafariViewController执行此操作,如其他解决方案中所示.
在我看来,可以修改网站的HTML代码,使其看起来更像Reader.看来有些服务已经做到这一点,比如可读性:
只需将此URL加载到WKWebView中:http://www.readability.com/m? url = YOUR_URL_HERE
这应该可以帮助您实现与Reader类似的功能.
@dfmuir是对的,UIWebView或WKWebView不提供Reader Mode.但是,正如Baig所说,你可以使用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)
}
}
Run Code Online (Sandbox Code Playgroud)
只需改善@dzensik答案即可,因为iOS 11.0中不推荐使用'init(url:entersReaderIfAvailable :)'。
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)
}
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4329 次 |
最近记录: |