gpt4 book ai didi

xamarin - 在 xamarin.mac 中仅允许 NsTextField 输入数字

转载 作者:行者123 更新时间:2023-12-04 01:47:57 26 4
gpt4 key购买 nike

我想放置一个只接受数字 (0-9) 的文本字段。如何限制 NSTextfield 只允许数字/整数?

最佳答案

创建一个 NSNumberFormatter 子类并查看 IsPartialStringValid 中接收到的 partialString 中您希望接受或拒绝的字符。更改 newString 以删除您不接受的字符。

NSNumberFormatter 子类:

class NumberOnlyFormattter : NSNumberFormatter
{
public override bool IsPartialStringValid(string partialString, out string newString, out NSString error)
{
newString = partialString;
error = new NSString("");
if (partialString.Length == 0)
return true;

// you could allow use partialString.All(c => c >= '0' && c <= '9') if internationalization is not a concern
if (partialString.All(char.IsDigit))
return true;
newString = new string(partialString.Where(char.IsDigit).ToArray());
return false;
}
}

示例:

var text = new NSTextField(new CGRect(50, 50, 100, 40));
text.Formatter = new NumberOnlyFormattter();
View.AddSubview(text);

回复:https://developer.apple.com/reference/foundation/numberformatter

关于xamarin - 在 xamarin.mac 中仅允许 NsTextField 输入数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42366052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com