Configuración del cuadro de entrada "cantidad" de iOS
-(BOOL)textField:(UITextField *)textField deberíaChangeCharactersInRange:(ns range) reemplazo de rango String:(NSString *)string{
? //Determina si hay un punto decimal.
? if([campo de texto . el texto contiene cadena:@ ").]) {
?self.isHaveDian = YES
?} else {
?self. isHaveDian = NO
? }
? if(string . length & gt; 0) {
? //Caracteres de entrada actuales
?unicharsingle =[string caracter atindex:0];
//No se pueden ingresar caracteres distintos del 0-9.
If (!((single>= ' 0 ' & amp& amp single<='9') || single == ','))returnNO
? //Solo se permite un punto decimal
? . ')returnNO
? //Si el primer número es .textfield . longitud == 0)& amp;& amp(single == ' . ') ) {
? textField.text = @ " 0
? }
? //Si el primer dígito es 0, se debe ingresar un punto después, de lo contrario no se puede ingresar.
? if([campo de texto. texthasprefix:@ " 0 "]){
? if(campo de texto . texto . longitud >1) {
? ns cadena * secondStr =[campo de texto . textsubstringwithrange:NSMakeRange(1, 1)]
? if(![segundostrisecaltostring:@].])return no;
? }¿En caso contrario{
? if(![stringisEqualToString:@].])return no;
? }
? }
? //Se pueden ingresar hasta dos dígitos después del punto decimal.
? if(self.isHaveDian) {
? NSRangeran =[campo de texto. textrangeofstring:@]. ];
? // Debido a que el tipo de rango.ubicación es NSUInteger, (rango. ubicación-ran. ubicación) no se puede emitir 2 juicios
? if(rango . ubicación & gt;ran.ubicación) {
? if([campo de texto. extensión de ruta de texto]). longitud>1)retorno no;
? }
? }
}
Devolver SÍ
}