c# iOS Определить, какая клавиша была нажата - PullRequest
0 голосов
/ 04 августа 2020

Я создал делегата UITextField для создания маски номера телефона (не полной), и я хотел бы знать, когда нажимается клавиша, отличная от символа. Похоже, что когда пользователь нажимает клавишу возврата или удаления, replacementString является пустой строкой, но есть ли другие нажатия клавиш, которые дают такой же результат? Есть ли способ узнать, какая клавиша была нажата (нажата)?

Мой код (пока):

class PhoneMaskTextViewDelegate : UITextFieldDelegate
{
    public override bool ShouldChangeCharacters(UITextField textField, NSRange range, string replacementString)
    {
        string text = textField.Text;
        string newText = "";
        int val;
        if (replacementString != "")
        {
            newText = text.Substring(0, (int)range.Location) + replacementString + text.Substring((int)(range.Location + range.Length));
        } else
        {
            if (text.Length > 1)
            {
                newText = text.Substring(0, text.Length - 1);
            } else
            {
                newText = "";
            }
        }
        return Int32.TryParse(newText, out val);
    }
}

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...