如何将文本字段中允许的最大输入值限制为 10? [复制]

Posted

技术标签:

【中文标题】如何将文本字段中允许的最大输入值限制为 10? [复制]【英文标题】:How to restrict the maximum allowed input value in a text field to be 10? [duplicate] 【发布时间】:2015-08-14 09:36:23 【问题描述】:

我有一个 UITextField。我想将字段中允许的最大输入值限制为 10。

即当用户在里面输入数字时,一旦输入值大于10,输入字段中的值将不再更新,除非用户输入小于或等于10的值。

【问题讨论】:

【参考方案1】:

所有其他答案都在限制输入的 length,而 OP 显然要求限制输入的 value。首先,你也可以使用UIStepper

(来源:apple.com)

UISlider 用于此目的(与标签一起显示当前值)。这对用户来说也可能更清楚。

如果你坚持基于 UITextField 的方法,你需要实现 textField:shouldChangeCharactersInRange:replacementString: 方法如下:

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
    NSString *text = [textField.text stringByReplacingCharactersInRange:range withString:string];
    NSNumberFormatter *numberFormatter = [NSNumberFormatter new];
    NSNumber *number = [numberFormatter numberFromString:text];
    if (number == nil || [number doubleValue] > 10) 
        return NO;
    
    return YES;

如果您不允许负数,您可能需要添加一些额外的检查。

【讨论】:

【参考方案2】:

试试这个:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

if(textField == mytextField)

 if (textField.text.length == 10)
        
            if (range.length == 0)
            
                return NO;
            
        
return YES;


--> 绝对会帮到你

祝你好运

【讨论】:

它可以限制输入长度,但它不能满足 OP 的要求。

以上是关于如何将文本字段中允许的最大输入值限制为 10? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何限制文本框中允许的字符数?

如何限制连接到 GCDWebServer 中允许的 IP

元素数超过 SQL 数据透视语句中允许的最大值

无法在控件属性中使用代码块

php中允许的内存大小为33554432字节耗尽(尝试分配43148176字节)

php数组键中允许的字符?