gpt4 book ai didi

cocoa - 限制 NSTextField 仅允许数字

转载 作者:行者123 更新时间:2023-12-03 16:01:27 27 4
gpt4 key购买 nike

如何限制 NSTextField 仅允许数字/整数?我发现了类似这样的问题,但它们没有帮助!

最佳答案

尝试创建自己的 NSNumberFormatter 子类并检查 -isPartialStringValid:newEditingString:errorDescription: 方法中的输入值。

@interface OnlyIntegerValueFormatter : NSNumberFormatter

@end

@implementation OnlyIntegerValueFormatter

- (BOOL)isPartialStringValid:(NSString*)partialString newEditingString:(NSString**)newString errorDescription:(NSString**)error
{
if([partialString length] == 0) {
return YES;
}

NSScanner* scanner = [NSScanner scannerWithString:partialString];

if(!([scanner scanInt:0] && [scanner isAtEnd])) {
NSBeep();
return NO;
}

return YES;
}

@end

然后将此格式化程序设置为您的 NSTextField:

OnlyIntegerValueFormatter *formatter = [[[OnlyIntegerValueFormatter alloc] init] autorelease];
[textField setFormatter:formatter];

关于cocoa - 限制 NSTextField 仅允许数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12161654/

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