2016-07-10 11 views
0
[UIView animateWithDuration:0.3 delay:0.0f options:UIViewAnimationOptionCurveEaseInOut animations:^{ 
      [viewMain setFrame:CGRectMake(0, 30, 1024, 378)]; 
     } completion:^(BOOL finished){ 
      [txtViewNote becomeFirstResponder]; //Its a TextView 
     }]; 

Der obige Code funktioniert die meiste Zeit gut. Aber manchmal die LinieiOS TextView Absturz nach UIView Animation Vervollständigungsblock

[txtNote becomeFirstResponder] 

verursachen Absturz. Ich habe versucht zu fangen. Aber der Crash geht nicht zum Blockieren.

+0

Stellen Sie sicher, dass Sie die Animation über den Hauptthread aufrufen. – Raz

+0

Ich rufe vom Hauptthread an. –

Antwort

0

Ich habe gerade das Problem behoben. Es passiert tatsächlich, wenn ich zum zweiten Mal zu dieser Ansicht komme. Ich habe 2 Beobachter für Tastatur

[[NSNotificationCenter defaultCenter] addObserver: Selbstwähler: @selector (keyboardWillShow :) Name: UIKeyboardWillShowNotification Objekt: nil];

[[NSNotificationCenter defaultCenter] addObserver: self-Selektor: @selector (keyboardWillHide :) Name: UIKeyboardWillHideNotification object: nil];

Aber ich habe nicht Beobachter beim Schließen der Ansicht entfernt. Das ist der Grund, warum der Kerncode, wenn er zum zweiten Mal zu dieser Ansicht kam, nicht damit umgehen konnte. Ich weiß nicht, was eigentlich das Problem bei Kakao-Touch ist. Aber es ist gelöst.