UITextField resignFirstResponder no funciona?
-
27-09-2019 - |
Pregunta
He comprobado doble todas las conexiones en el archivo semilla. Mi código -
// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:[UIImage imageNamed:@"iphone_bg_login.png"]];
self.title = @"Login screen";
loginTxt = [[UITextField alloc] init];
pwdText = [[UITextField alloc] init];
loginFailedTxt = [[UILabel alloc] init];
loginBtn = [[UIButton alloc] init];
navAppDelegate = (NavAppDelegate *)[[UIApplication sharedApplication] delegate];
navAppDelegate.navController.navigationBarHidden = YES;
//NSArray *subVs = (NSArray *) [self.view subviews];
[super viewDidLoad];
}
he utilizado una subclase de UIView (UIControl)
y ha añadido todos los elementos de interfaz de usuario a la misma en el método UIControl's touchDown
Interface builder.The está conectado al método backgroundTap
.
-(IBAction) backgroundTap:(id) sender {
[loginTxt resignFirstResponder];
[pwdText resignFirstResponder];
//[[UIApplication sharedApplication] becomeFirstResponder];
//[sender resignFirstResponder];
}
Así que el teclado no se quita como se supone a. No sé por qué.
Gracias por la ayuda! Teja.
Solución
DyingCactus ha señalado a su error. Usted está reemplazando el BNI-versión del control con un control completamente diferente, perdiendo el puntero a la una de la SEMILLA. Cuando se llama a resignFirstResponder
, que está llamando en su objeto duplicado, no es el que está en realidad en la pantalla. Deshacerse de los alloc
y init
llamadas para cosas conectados en la ONI.