Using Safariservices swift how to code around the small black box

508 Views Asked by At

Using SFSafariViewController, works well but for some reason when I go to this webpage [knowitall.ch], it starts up by opening a zoomed view? with a small black box that I need to press to get the full webpage.

enter image description here

My code couldn't be simpler.

if let url = URL(string: url2U) {
        let vc = SFSafariViewController(url: url, entersReaderIfAvailable: true)
        vc.delegate = self
        present(vc, animated: true)
    }

If I press the box I get the correct view, how to code around this so I open with the second view here? black box not required :)

enter image description here

1

There are 1 best solutions below

0
On BEST ANSWER

That "zoomed view" is the Reader Mode. It shows up because you asked for it. Set entersReaderIfAvailable to false if you don't want it. Also, init(url:entersReaderIfAvailable:) has been deprecated in iOS 11. You need to initialize it with a config object:

if let url = URL(string: url2U) {
    let vc: SFSafariViewController

    if #available(iOS 11.0, *) {
        let config = SFSafariViewController.Configuration()
        config.entersReaderIfAvailable = false
        vc = SFSafariViewController(url: url, configuration: config)
    } else {
        vc = SFSafariViewController(url: url, entersReaderIfAvailable: false)
    }
    vc.delegate = self
    present(vc, animated: true)
}