防止特定字符输入UITextField

时间:2015-07-07 17:15:23

标签: c# xamarin

我想阻止空间进入UITextField。我已经研究过替换方法,但这并不是我想要的。反正有没有阻止字符输入UITextField,即它们完全被忽略了?

如果无法阻止字符被忽略,那么阻止用户将空间输入UITextField的下一个最佳方法是什么?

2 个答案:

答案 0 :(得分:1)

防止在UITextField上输入空格:

        var frame = new CGRect(10, 10, 300, 30);
        myTextField = new UITextField(frame);
        myTextField.Text = "NoSpacesAllowed";
        View.Add (myTextField);
        myTextField.ShouldChangeCharacters += (myTextField, range, replacement) => { 
            return replacement.Length == 0 || !replacement.Contains (" "); 
        };

答案 1 :(得分:0)

在ShouldChangeCharacters方法中,您可以阻止将特定字符输入UITextField textField

textField.ShouldChangeCharacters = (textField, range, replacementString) =>
{
    if (replacementString == " ")
    {
         return false;
    }
}

如果用户在此示例中输入空格,则返回false语句只会阻止返回任何内容。

您可以修改它以防止您需要的任何字符或仅允许字符列表。