2010-09-29 3 views
0

J'ai une vue avec un UITextField qui est le premier répondeur. J'essaye d'ajouter une vue semi-transparente avec un indicateur d'activité qui couvrirait tout.Comment afficher une vue similaire à UIActionSheet, en plus de tout ce qui est sur l'écran

En ce moment, le code ressemble à ceci:

CATransition *animation = [CATransition animation]; 
[animation setType:kCATransitionFade]; 
[self.window.layer addAnimation:animation forKey:@"fade in spinner"]; 
[self.window addSubview:spinnerView]; 

Cela fonctionne très bien lorsque la vue ne dispose pas d'un UITextField actif, mais si elle le fait, le clavier virtuel parvient à rester au-dessus de mon spinnerView D'après ce que j'ai lu, les sous-vues "modales" (comme UIActionSheet et UIAlertView) utilisent un UIWindow distinct pour être vraiment modal, mais en même temps Apple recommande de ne pas créer plus d'une fenêtre dans votre application.

Toute autre idée serait grandement apprécié

+0

J'ai oublié de mentionner que le code ci-dessus se trouve dans 'AppDelegate' pour l'instant, donc' self' fait référence à l'instance 'AppDelegate'. – Nick

Répondre

0

Le problème est que le clavier apparaît dans sa propre fenêtre, ce qui sur le haut de votre fenêtre. Donc, si vous voulez que votre vue soit toujours en haut, vous devez la créer dans une fenêtre séparée.

+0

C'est ce que j'ai mentionné dans la question, mais encore une fois, Apple nous dit de ne pas créer de fenêtres supplémentaires, donc je me demande si une autre approche est possible. Si non, seriez-vous en mesure de fournir un exemple d'utilisation correcte des fenêtres? J'ai essayé de trouver quelque chose utilisable ou écrire mon propre code, mais la fenêtre n'apparaîtra jamais :( – Nick

+0

Si les cadeaux du clavier en arrière-plan ne sont pas critiques pour votre application, vous pouvez simplement les masquer avant de les afficher et les afficher à nouveau la vue est cachée, de toute façon je vais essayer de résoudre le problème de montrer la fenêtre et si cela fonctionne, je vous le ferai savoir =) – eviltrue

+0

Ça me semble impossible ... ça va marquer comme résolu depuis que la réponse est trouvée – Nick

Questions connexes