iPad没有像iPhone/iPod那样的“数字键盘”。
我想知道如何限制用户的键盘只接受从0到9的值。
我可以想象使用UITextField的"shouldChangeCharactersInRange“,但我不知道实现它的最佳方式。
发布于 2014-11-11 02:41:44
我已经修改了@iDev的答案,使其适用于数字和".":
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
// Check for non-numeric characters
NSUInteger lengthOfString = string.length;
for (NSInteger index = 0; index < lengthOfString; index++) {
unichar character = [string characterAtIndex:index];
if ((character < 48) && (character != 46)) return NO;
// 48 unichar for 0, and 46 unichar for point
if (character > 57) return NO;
// 57 unichar for 9
}
// Check for total length
NSUInteger proposedNewLength = textField.text.length - range.length + string.length;
if (proposedNewLength > 6)
return YES;
return YES;
}https://stackoverflow.com/questions/12944789
复制相似问题