Здравствуйте, уважаемые пользователи StackOverflow!
Я столкнулся с неприятной проблемой в своем приложении Xamarin.iOS. Проще говоря, начиная с iOS 17, многие из моих UITextFields теперь предлагают мне функцию автозаполнения. Когда я нажимаю кнопку «Автозаполнение», iOS предлагает мне ввести контактные данные или пароль.
Не путайте это с функцией автозаполнения, доступной на клавиатуре iOS. С клавиатурой все в порядке.
На снимке экрана показана рассматриваемая функция автозаполнения:

Я попытался отключить всплывающее окно с помощью селектора CanPerform(), однако iOS, похоже, не передает функцию автозаполнения в CanPerform().
Вот мой код для CanPerform():
public bool EvaluateEditSelector(string selector) //вызывается CanPerformAction() { если (AllowCopyPaste || CopyPasteOverride) { переключатель (селектор) { случай "вырезать:": вернуть showCopyPaste; случай "копия:": вернуть showCopyPaste; случай «выбрать:»: вернуть showCopyPaste; случай "selectAll:": вернуть showCopyPaste; случай «вставить:»: вернуть showCopyPaste; case "makeTextWritingDirectionLeftToRight:": //Последний селектор showCopyPaste = правда; вернуть ложь; по умолчанию: вернуть ложь; } } еще { вернуть ложь; } } Я проверил UIMenuBuilder или, скорее, UIMenuIdentifiers, существует ли идентификатор для автозаполнения, однако не нашел соответствующего идентификатора.
Вот код внутри BuildMenu():
публичное переопределение void BuildMenu (построитель IUIMenuBuilder) { if (Device.GetSystemVersion().Major >= 16) //вспомогательный метод для проверки версии системы { builder.RemoveMenu(UIMenuIdentifierExtensions.GetConstant(UIMenuIdentifier.Lookup)); } base.BuildMenu(строитель); } Заранее благодарим за внимание.
Мобильная версия