При первой загрузке веб-страницы внутри WKWebView, когда ввод «сфокусирован», открывается виртуальная клавиатура. Только в первый раз кнопки предыдущего и следующего поля формы не видны.
Когда мы фокусируем другой ввод, кнопки видны.
На следующем изображении вы видите, что первый вход сфокусирован, но предыдущие / следующие кнопки отсутствуют на клавиатуре.
предыдущий / следующий элемент ввода отсутствует на виртуальной клавиатуре
Если страница перезагружается в веб-представлении, отображаются кнопки виртуальной клавиатуры.
Если вы сфокусируете другой ввод, то кнопки видны:
Кнопки фокусировки теперь видны
Эта проблема не связана с моей веб-страницей, эта проблема возникает на всех веб-сайтах.
Эта проблема также появляется только в WKWebView, в UIWebView кнопки всегда отображаются и работают.
Чтобы воспроизвести мою проблему, вы можете загрузить статическую веб-страницу в WkWebView со следующим содержимым:
<!doctype html>
<html ng-app="offline-form-ui">
<head>
<meta charset="utf-8"/>
</head>
<body>
<form>
<input type="text" name="test1">
<input type="text" name="test2">
<input type="text" name="test3">
</form>
</body>
</html>
Это наш код задачи C для загрузки страницы в веб-представлении:
_webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:webConfig];
_webView.UIDelegate = self;
_webView.navigationDelegate = self;
self.view = _webView;
_webView.userInteractionEnabled = YES;
_webView.scrollView.delegate = self;
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"offline-form" ofType:@"html" inDirectory:@"www/ui"]];
[_webView loadRequest:[NSURLRequest requestWithURL:url]];
В этом случае мы загружаем файлы непосредственно с устройства, но проблема также возникает с веб-страницами в Интернете.
Любая помощь с благодарностью.
Обновление: Это похоже на ошибку в IOS. Я создал простой проект только с WkWebView, и проблема сохраняется на любом веб-сайте. Я создал новую ошибку в репортере ошибок Apple.