5

Как видно из документации и всех примеров, я обнаружил, что SFSafariViewController должен быть программно создан с определенным URL-адресом в качестве параметра настройки. Можно ли использовать SFSafariViewController в качестве контроллера детализации для UISplitViewController? Единственный способ, которым я могу это сделать, - настроить segue в раскадровке, но в этом случае SFSafariViewController не будет иметь URL-адрес, необходимый для отображения его содержимого. Любые советы о том, как это сделать, программно, если это возможно, будут оценены.Как настроить SFSafariViewController в качестве Контроллера подробностей для UISplitViewController?

ответ

5

Это возможно! Я долго искал и нашел решение. Я делаю это в своем основном контроллере просмотра, Table View Controller. Если я выбираю ячейку моего представления таблицы, в подробном представлении открывается SafariViewController.

let safariViewController = SFSafariViewController(URL: NSURL(String: "http://google.com")) 
self.showDetailViewController(safariViewController, sender: nil) 

Результат: Safari View Controller Detail

Он поставляется с некоторыми проблемами.

  • Вы должны использовать IOS 9.1 или больше, чтобы избежать этого UI ошибка: UI Bug Safari View Controller

  • Вы должны скрыть навигационную панель, если вы хотите, чтобы увидеть стандартный вид сафари контроллера бар (с URL, ...)

+0

Если вам нужна дополнительная помощь, не стесняйтесь. Мое решение работает, я использую его в данный момент :) –

+0

Есть ли в любом случае скрытие сделанной кнопки в этом случае? или заменить его 'displayModeButtonItem'? – Mojtaba

Смежные вопросы