2010-02-16 3 views
1

'all all. Je suis dans la partie finale de mon application pour l'iPhone et j'ai trouvé que je suis dans une section de l'application où je veux donner des commentaires sur l'état de certains processus d'arrière-plan en cours d'exécution (précision du gestionnaire d'emplacement) et que je veux placer dans le coin inférieur gauche de l'écran. Cela peut indiquer à un utilisateur à quel point nous sommes sûrs des résultats de recherche qu'il reçoit de mon application.Comment créer un calque qui flotte au-dessus du contrôleur de tabulation sur l'iphone

Plusieurs problèmes. Ceci est une application basée sur la navigation (juste pour que vous sachiez). Je veux faire flotter un (par exemple) 40px haute, 80 (ou plus) pixel large noir translucide boîte (peut-être alpha .6) avec des coins arrondis en bas à gauche de l'écran au-dessus de la barre d'onglets. Je veux pouvoir le faire apparaître sur demande (lorsque le gestionnaire de localisation est appelé) et disparaître lorsque j'arrête le gestionnaire de position - MAIS flotte sur l'application sur TOUTES LES VUES de l'application et ne bloque pas les touches lorsque l'utilisateur navigue dans l'application. Est-ce tout possible? Et, si oui, comment? Le code serait le meilleur mais je ne demande pas de solution de bout en bout.

Je ne pas « obtenir » ce qui suit:

  • Je ne comprends pas si je peux flotter une boîte au-dessus de toutes les vues d'une application à tout moment.
  • Par où commencer ... quel "objet" dois-je utiliser pour le construire? CALayer? CGRect? Je veux être capable de dire (par exemple) "Précision: 10" (et avoir le nombre changer de couleur ... ne sais pas si cela me limite à l'objet que je peux mettre sur
  • ne peut pas bloquer les touches. voudrais faire en sorte qu'il reste flottant au-dessus de l'application lorsque l'utilisateur touche l'écran et change une vue.

tout cela est possible et si oui, quelqu'un peut me donner un bon point de départ? J'ai tout le programmation nécessaire pour obtenir les valeurs du gestionnaire d'emplacement ... mais ne sais pas comment mettre une vue au-dessus des autres vues sans pousser les autres hors de l'écran ... OU quelque chose comme ça ... qui bloque et est un AlertView .. pas le article dont j'ai besoin:

// this is not the answer for what I need 
baseAlert = [[[UIAlertView alloc] initWithTitle:@"One Moment" message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease]; 
[baseAlert show]; 
// Create and add the activity indicator 
UIActivityIndicatorView *aiv = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge]; 
aiv.center = CGPointMake(baseAlert.bounds.size.width/2.0f, baseAlert.bounds.size.height - 40.0f); 
[aiv startAnimating]; 
[baseAlert addSubview:aiv]; 
[aiv release]; 

La chose parfaite pour moi serait (et je ne sais pas si cela peut être fait) la barre d'état de style vert "retour à l'appel" que Apple met en place lorsque vous êtes en appel sous la barre d'état de l'iPhone. Je sais que ce n'est pas disponible pour les programmeurs.

De toute façon, toute aide serait appréciée. Merci d'avance.

Répondre

1

Vous devriez pouvoir créer un UIView et l'ajouter à votre fenêtre principale en tant que sous-vue.

Cela l'affichera par dessus tout ce que vous avez. Vous pouvez ensuite utiliser la propriété userInteractionEnabled pour désactiver l'interaction utilisateur de cette vue.

+0

Thx ... mais lorsque le contrôleur de navigation contrôle la commutation de l'écran (par l'utilisateur en cliquant sur la barre d'onglets) qui aura disparu, ai-je raison? Je devrais vérifier sur la nouvelle vue (que l'utilisateur est allé à) et voir si je devrais ré-afficher ce uiview qui a contenu le "exactitude: 10" texte? – Jann

+0

Si vous ajoutez la vue à la fenêtre principale, elle ne sera pas supprimée. Le contrôleur de navigation bascule les vues qui sont les enfants de la fenêtre. Ma suggestion est d'avoir un deuxième enfant de la fenêtre être votre boîte d'alerte. – pgb

+0

Je l'ai fait, pgb, et ça marche super! App est actuellement en cours de révision à vendre - MERCI! Cela n'aurait pas été possible sans votre aide. – Jann

Questions connexes