Moh*_*bid 3 xamarin xamarin.mac
我想放置一个只接受数字(0-9)的文本字段。如何限制 NSTextfield 只允许数字/整数?
创建一个NSNumberFormatter子类,并审查partialString在接收到IsPartialStringValid的字符,你愿意接受或拒绝。更改newString以删除您不接受的字符。
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;
}
}
Run Code Online (Sandbox Code Playgroud)
var text = new NSTextField(new CGRect(50, 50, 100, 40));
text.Formatter = new NumberOnlyFormattter();
View.AddSubview(text);
Run Code Online (Sandbox Code Playgroud)
回复:https : //developer.apple.com/reference/foundation/numberformatter
| 归档时间: |
|
| 查看次数: |
475 次 |
| 最近记录: |