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

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

введите описание изображения здесь

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

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

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

введите описание изображения здесь

1 ответ

Решение

Этот "увеличенный вид" является режимом чтения. Это появляется, потому что вы просили об этом. Задавать 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)
}
Другие вопросы по тегам