Domanda

Ho ricontrollato tutti i collegamenti nel file pennino. Il mio codice -

// 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];
}

Ho usato una sottoclasse di UIView (UIControl) e ha aggiunto tutti gli elementi dell'interfaccia utente ad esso nel metodo UIControl's touchDown interfaccia builder.The è collegato al metodo backgroundTap.

-(IBAction) backgroundTap:(id) sender {
    [loginTxt resignFirstResponder];
    [pwdText resignFirstResponder];
    //[[UIApplication sharedApplication] becomeFirstResponder];
        //[sender resignFirstResponder];
} 

Quindi, la tastiera non viene rimosso, come si suppone. Non so perché.

Grazie per l'aiuto! Teja.

È stato utile?

Soluzione

DyingCactus ha indicato il vostro errore. Si sta sostituendo la NIB-versione del controllo con un controllo completamente diversa, perdendo il puntatore a quello nel pennino. Quando si chiama resignFirstResponder, si sta chiamando sul vostro oggetto duplicato, non quello che in realtà sullo schermo. Sbarazzarsi delle chiamate alloc e init per le cose cablati nel pennino.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top