WKWebView не интерактивен с клавиатуры

Я новичок в быстрой и яблочной разработке в целом (из мира JS). Я пытаюсь создать простое настольное приложение, обернув WKWebView. Часть, где ViewController создает webView, работает нормально. По крайней мере, выглядит так: загружает веб-страницу :)

Но когда я нажимаю на любое поле ввода, я не могу ничего писать. В этом поле даже нет курсора.

В основном работает только щелчок мышью / тачпадом. Но курсор мыши не меняется при наведении курсора на элементы (например, кнопки, а также текстовые поля). Мне кажется, что над веб-страницей есть какая-то маска / слой. Нажатие распространяется на саму страницу, но не на наведение курсора и нажатие клавиш.

Есть ли в приложении какие-то особые настройки / права для включения клавиатуры? Как я могу сделать поля страницы доступными для редактирования?

Подробнее:

  • Щелчок по текстовому полю работает (он изменяется, например, цвет границы в зависимости от селектора фокуса)
  • нажатие <a> ссылок в веб-просмотре работает
  • щелчки правой кнопкой мыши работают (показывает параметры копирования / вставки и т. д.)
  • вставка правой кнопкой мыши в поле работает

код:

import Cocoa
import SafariServices.SFSafariApplication
import WebKit

class ViewController: NSViewController, WKNavigationDelegate {

     @IBOutlet var ww: WKWebView!

     override func viewDidLoad() {
         super.viewDidLoad()

         ww.navigationDelegate = self
         ww.load(URLRequest(url: URL(string: "https://www.google.com")!))
         view = ww
    }
}

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

  • Ww - это представление WebKit
  • Ww охватывает всю View область (перетаскивание мышью)

СПАСИБО за любой ответ или подсказку! ????


person Michal Roharik    schedule 28.11.2018    source источник


Ответы (1)


Ваш исходный код мне подходит. Вам необходимо отключить возможности песочницы:

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

С этим отключенным я мог как загружать, так и взаимодействовать с веб-просмотром.

person Alex Bailey    schedule 28.11.2018
comment
Спасибо за ответ. К сожалению, у меня это не работает :( как выглядит ваша раскадровка? - person Michal Roharik; 28.11.2018
comment
извините, я пропустил NSViewController - ›своп UIViewController. Какая разница пожалуйста? Также мои отчеты xcode: Type 'ViewController' does not conform to protocol 'NSObjectProtocol', когда я пытаюсь изменить это - person Michal Roharik; 28.11.2018
comment
Хорошо, я узнал, что UIViewController предназначен для приложений ios. В своем вопросе я заявил, что ищу решение для настольных приложений, которое, как мне кажется, касается NSViewController. Спасибо, в любом случае - person Michal Roharik; 28.11.2018