Использование Safariservices быстро, как кодировать вокруг маленького черного ящика - PullRequest
0 голосов
/ 15 сентября 2018

Использование SFSafariViewController, работает хорошо, но по какой-то причине, когда я захожу на эту веб-страницу [knowitall.ch], она запускается открытием увеличенного представления? с маленьким черным ящиком, который мне нужно нажать, чтобы получить полную веб-страницу.

enter image description here

Мой код не может быть проще.

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

Если я нажимаю на поле, я получаю правильное представление, как кодировать это, чтобы я открыл здесь второе представление? черный ящик не требуется:)

enter image description here

1 Ответ

0 голосов
/ 15 сентября 2018

Этот «увеличенный вид» является режимом чтения. Это появляется, потому что вы просили об этом. Установите entersReaderIfAvailable на false, если вы этого не хотите. Кроме того, init(url:entersReaderIfAvailable:) устарело в iOS 11. Вам необходимо инициализировать его с помощью объекта конфигурации:

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)
}
...