如何设置Uitextfield的最小和最大限制?

我需要设置最小和最大极限值为一个单一的文本字段,即数字应该以最less2位数字和最多5位数字开始我在这里尝试了一些方法

-(BOOL)validatenumber:(NSString*)Number{ if ([Number length ]>=2) { return NO; } return YES; 

}

 - (BOOL)textFieldShouldReturn:(UITextField *)textField { NSInteger inte = [textField.text intValue]; if (inte <5 && inte > 2) return NO; else return YES; } 

迅速

 override func textFieldShouldReturn(textField: UITextField) -> Bool { var inte: Int = CInt(textField.text!)! if inte < 5 && inte > 2 { return false } else { return true } } 
 if ([amount.text length]>=2 && [amount.text length]<=5) { }else{ UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"error" message:@"Plz enter the amout Min 10Rs" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; return; } 

我会首先检查你是否可以从你的string中parsing一个数字,然后检查数字的范围

 -(BOOL)validatenumber:(NSString*)Number{ NSCharacterSet *characterSet = [[NSCharacterSet characterSetWithCharactersInString:@"0123456789,."] invertedSet]; if ([Number rangeOfCharacterFromSet:characterSet].location != NSNotFound) { return NO; } return ([Number intValue] >= 100 && [Number intValue] <= 99999); } 

将代理设置为您的UITextField。 并且当用户在函数func textFieldDidEndEditing(_ textField: UITextField)完成编辑你的UITextField时运行validation。 如果validation失败,则向用户显示popup警报