View WKWebView Reader

I am switching from UIWebViewto , and cannot figure out how to configure my configuration to use . WKWebViewReader
enter image description here

Is there anyone who can help me?

viewDidLoad:

WKWebViewConfiguration *config = [NSClassFromString(@"WKWebViewConfiguration") alloc] init];
    // Configuration of Reader goes here?
    wkWebView = [[wkWebViewClass alloc] initWithFrame:frame configuration:config];
    [self.view addSubview:wkWebView];
}
+4
source share
4 answers

You cannot enable "Reader" mode for WKWebView (or UIWebView).

Edit: you can do this using the SFSafariViewController, as shown in another solution.

It occurs to me that it would be possible to change the HTML code of a website to look more like a Reader. There seem to be services that already do this, like Readability:

URL WKWebView: http://www.readability.com/m?url=YOUR_URL_HERE

Reader.

+7

@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)
    }
}
+7

: SafariServices:

#import <SafariServices/SafariServices.h>

SFSafariViewController . :

  • URL
  • URL-, " "
NSString *sURL = @"http://google.com";

NSURL *URL = [NSURL URLWithString:sURL];

SFSafariViewController *safari = [[SFSafariViewController alloc] initWithURL:URL]; // 1.

SFSafariViewController *safari = [[SFSafariViewController alloc] initWithURL:URL entersReaderIfAvailable:YES]; // 2.

[self presentViewController:safari animated:YES completion:nil];
+2

@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)
        }
    }
0

All Articles