Для обнаружения Backspace я переопределил метод DeleteBackward
(должен работать с iOS5 +)
var input = new BackspaceTextField(RectangleF.Empty);
etc
input.BecomeFirstResponder();
Здесь код
public sealed class BackspaceTextField : UITextField
{
public BackspaceTextField(RectangleF frame) : base(frame)
{
}
public override void DeleteBackward ()
{
Console.WriteLine ("DeleteBackward");
}
}
Когда я нажимаю кнопку "Backspace", ничего не происходит. Я ожидаю, что сообщение "DeleteBackward" должно появиться
Окружающая среда: iOS8, xamarin
Изменить: 0
Аналогичный вопрос в objective-c: Обнаружение backspace в UITextField
Я проверил дополнительную проверку. DeleteBackward
- это метод из UIKeyInput, поэтому я проверил метод insertText
, этот метод работает исправно.
public override void InsertText (string text)
{
base.InsertText(text);
}
Я проверил DeleteBackward
на objective-c, и он отлично работает.
Есть ли у вас какие-либо идеи по обнаружению backspace в UITextField в iOS8?
Не могли бы вы объяснить, почему метод DeleteBackward
не вызывался?
Изменить: 1
Я отправил тот же вопрос в Xamarin forum. Похож на ошибку в iOS8 + xamarin, потому что в iOS 7.1 работает безотказно.
Это ошибка. Здесь подробности