У меня есть 4 UITextFields, которые я использую, чтобы не использовать 2 кнопки UIB, пока во все 4 поля не будут введены данные. Пока у меня есть следующий код
- (void)textFieldDidBeginEditing:(UITextField *)textField {
if (([brand.text length] >0) && ([qty.text length] >0) && ([size.text length] >0) && ([price.text length] >0)) {
[calcOneButton setEnabled:YES];
[calcTwoButton setEnabled:YES];
}else {
}
}
У меня есть ряд проблем с этим: -
- Когда данные удаляются из полей, кнопки UIB по-прежнему включены
- Кнопки не включаются правильно, после того, как я ввел данные во все 4 поля, мне нужно повторно нажать на поле, чтобы активировать кнопку.
- Я записываю длину каждого поля, но после ввода символа оно начинается с 0, а не 1.
Может кто-нибудь помочь с этими точками?
Код для регистрации длины поля выглядит следующим образом: -
#define MAXLENGTH 5
#define MAXQTY 3
#define MAXSIZE 4
#define MAXBRAND 10
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if (textField == brand) {
int lengtha = [brand.text length] ;
NSLog(@"lenghta = %d",lengtha);
if (lengtha >= MAXBRAND && ![string isEqualToString:@""]) {
brand.text = [brand.text substringToIndex:MAXBRAND];
return NO;
}
он следует одинаковому формату для всех 4 полей, но при вводе символа NSlog выдает 0, затем 1 для второго символа и т. Д.