2010-01-30 3 views
2

La fonction suivante est une méthode d'une classe appelée TitleOverlay - qui est une superposition transparente avec un textView.Comment puis-je accélérer cette transition de vue, la première fois, sur les téléphones 3G?

La fonction affiche la superposition en animant son alpha, et en parallèle utilise la propriété animationWillStart de l'animation pour afficher le clavier.

Sur les téléphones 3G, la première fois que cette fonction est appelée, il y a un décalage avant que le clavier ne s'affiche. En fait, je pense que l'animation pour montrer la superposition et montrer le clavier sont sérialisées. J'ai essayé de définir la longueur de l'animation alpha de superposition à différentes longueurs, et le keyboad montre toujours une fois l'animation terminée.

Fondamentalement, la première fois, il y a un décalage. Sur toutes les périodes suivantes, le clavier et les animations de superposition se produisent en parallèle, et cela semble bien.

Que puis-je faire pour résoudre ce problème?

- (void) showOverlay { 

    [[self superview] bringSubviewToFront:self]; 

    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; 
    [nc addObserver:self 
     selector:@selector(keyboardWillShow:) 
      name:UIKeyboardWillShowNotification 
      object:nil]; 
    [nc addObserver:self 
     selector:@selector(keyboardWillHide:) 
      name:UIKeyboardWillHideNotification 
      object:nil]; 

    [UIView beginAnimations:nil context: nil]; 
    [UIView setAnimationDuration: .5]; 
    [UIView setAnimationDelegate:titleField]; 
    [UIView setAnimationWillStartSelector:@selector(becomeFirstResponder)]; 
    self.whiteBlock.alpha = 1; 
    [UIView commitAnimations]; 

} 

Répondre

1

Le lag lors de l'affichage d'un clavier pour la première fois dans une application iPhone est un known issue. Il y a un hack to work around this, comme indiqué dans cette question.

+0

Salut Brad, merci beaucoup! Je ne pense pas que vous connaissiez la réponse de celui-ci, de mon collègue: http://stackoverflow.com/questions/2137521/iphone-unit-test-linking-problem-cant-find-devtoolsbundleinjection-framework –

Questions connexes