Я пытаюсь найти правильный синтаксис везде и просто не понимаю его.
Как передать конфигурацию KinWebBrowserViewController?
Вот код KinWebBrowserViewController, преобразованный в Swift (я также могу предоставить исходный Objective-C)
/*
Initialize a basic KINWebBrowserViewController instance for push onto navigation stack
Ideal for use with UINavigationController pushViewController:animated: or initWithRootViewController:
Optionally specify KINWebBrowser options or WKWebConfiguration
*/
class func webBrowser() -> KINWebBrowserViewController? {
}
class func webBrowser(with configuration: WKWebViewConfiguration?) -> KINWebBrowserViewController? {
}
И вот где создается экземпляр браузера:
enum WebviewViewControllerFactory {
static func make(for url: String) -> WebBrowserViewController {
let webBrowser = WebBrowserViewController()
webBrowser.showsURLInNavigationBar = false;
webBrowser.showsPageTitleInNavigationBar = false;
webBrowser.barTintColor = UIColor.navBackground
webBrowser.loadURLString(url);
return webBrowser;
}
}
Все, что я хочу сделать, это добавить следующую конфигурацию:
let config = WKWebViewConfiguration()
config.userContentController.add(self, name: "callbackHandler")
И добавьте эту конфигурацию в браузер.
Кажется, это должно быть легко, но я боролся с синтаксисом Swift в течение нескольких часов, пытаясь получить то, что, по моему мнению, должно быть довольно простым в работе. Я пробовал инициализаторы, я пробовал дополнительные подклассы, я пытался даже отказаться от этого и использовать WkWebView.
Как настроить отдельную конфигурацию в KinWebBrowser?