0

有什么办法可以避免用户在 UIInputs 中输入换行符?

例如,不希望用户能够在用户名输入中编写换行符。

我搜索了多行属性,但它似乎只存在于 UILabel 对象中。

试过“验证:用户名”,但这个选项不允许写像“-”这样的字符,这是我的应用程序的有效用户名字符。

谢谢!

4

2 回答 2

2

同样,您可以通过将UILabel上的Max Lines属性设置为 1 来将输入字段限制为单行。

http://www.tasharen.com/forum/index.php?topic=6752.0

于 2014-11-10T16:20:50.857 回答
0

必须检查 UIInput.cs 文件才能知道如何忽略换行符,我发现了这个:

case KeyCode.KeypadEnter:
            {
                ev.Use();

                bool newLine = (onReturnKey == OnReturnKey.NewLine) ||
                    (onReturnKey == OnReturnKey.Default &&
                    label.multiLine && !ctrl &&
                    label.overflowMethod != UILabel.Overflow.ClampContent &&
                    validation == Validation.None);

                if (newLine)
                {
                    //Insert("\n");
                }
                else
                {
                    UICamera.currentScheme = UICamera.ControlScheme.Controller;
                    UICamera.currentKey = ev.keyCode;
                    Submit();
                    UICamera.currentKey = KeyCode.None;
                }
                return true;
            }

因此,为了避免换行,您需要执行以下操作:

UILabelObject.multiLine = false;

UIInputObject.onReturnKey = UIInput.OnReturnKey.Default;

这样做, bool newLine 变为 false 并执行 Submit();

于 2014-10-22T09:19:12.147 回答