gpt4 book ai didi

objective-c - 如何禁止用户在 NSTextField 中输入数字?

转载 作者:行者123 更新时间:2023-12-03 17:59:38 25 4
gpt4 key购买 nike

如何禁止用户在 NSTextField 中输入数字?

我目前正在使用自定义 NSFormatter,在用户输入值后显示一个弹出窗口,但如何防止在输入后立即插入?

谢谢

我已经尝试过这个,它几乎可以工作..但是如果我输入一个数字,然后输入一些字母,即“24jdf”,这些字母仍然会显示(即使在字段失去焦点时被删除)。

- (BOOL)isPartialStringValid:(NSString *)partialString newEditingString:(NSString **)newString errorDescription:(NSString **)error
//- (BOOL)getObjectValue:(id *)obj forString:(NSString *)string errorDescription:(NSString **)error
{

if ([self numberFromString:partialString] == nil)
return NO;

return YES;
}

最佳答案

您必须对 NSFormatter 进行子类化并重写以下方法:

-(BOOL)isPartialStringValid:(NSString **)partialStringPtr proposedSelectedRange:(NSRangePointer)proposedSelRangePtr originalString:(NSString *)origString originalSelectedRange:(NSRange)origSelRange errorDescription:(NSString **)error {
NSString *string = *partialStringPtr;
NSCharacterSet *numbers = [NSCharacterSet decimalDigitCharacterSet];
return (NSNotFound == [string rangeOfCharacterFromSet:numbers].location);
}

关于objective-c - 如何禁止用户在 NSTextField 中输入数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8442891/

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