2011-10-24 3 views
2

J'ai besoin d'une vue modale sur l'application iPhone où je vais afficher quelques étiquettes, un UIImageView et deux boutons. Le design doit être entièrement personnalisé. Est-ce UIAlertView personnalisé? Comment faire quelque chose de similaire?Comment faire uiview modal personnalisé comme ça?

UIView in Tweetboot

Répondre

6

Jeff LaMarche a publié un article sur la création d'une vue d'alerte personnalisée. Vous pouvez vous inspirer de là.

http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

** Mise à jour le 24 Avril, 2017 ** Malheureusement le blog n'existe plus. Cependant, vous pouvez récupérer le message à partir des archives Web: https://web.archive.org/web/20160430051146/http://iphonedevelopment.blogspot.com/2010/05/custom-alert-views.html

+0

Vraiment sympa, merci. Je dois le lire pour comprendre quelle est la meilleure solution pour ma situation – dormitkon

+0

Malheureusement, cet article de blog n'est plus disponible – dacoinminster

+0

Ajout d'un lien vers l'archive web. – viggio24

1

Faire une vue comme celui-ci est simple. Vous avez juste besoin de créer une vue personnalisée avec les pièces que vous voulez et juste le rendre caché ou définir l'alpha à 0.0. Puis décochez-le lorsque vous voulez l'utiliser.

Pour éviter toute interaction avec d'autres éléments situés derrière la vue, placez une vue semi-transparente vierge juste derrière votre vue personnalisée.

2

Voir la source de la bibliothèque Tapku. Ils ont cette option - vous pouvez toujours pirater/modifier le code source pour cela. Ce n'est pas si difficile que ça, juste beaucoup de magie de calque qui circule (par exemple l'effet de vignette). et la plupart des actifs sont des images. Vous avez juste besoin de le décomposer correctement.

+0

Je vais leur donner un essai, thks :) – dormitkon

0
 UIAlertView *alert = [[[UIAlertView alloc] initWithTitle:@"\n\Please wait. \n Authorising Credentials..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease]; 
     UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(220, 10, 40, 40)]; 
     NSString *path = [[NSString alloc] initWithString:[[[NSBundle mainBundle] resourcePath] stringByAppendingPathComponent:@"smile.png"]]; 
     UIImage *bkgImg = [[UIImage alloc] initWithContentsOfFile:path]; 
     [imageView setImage:bkgImg]; 
     [bkgImg release]; 
     [path release]; 
     [alert addSubview:imageView]; 
     [imageView release]; 
     [alert addButtonWithTitle:@"Cancel"]; 
     [alert show]; 
+0

J'ai besoin de plus de vue personnalisée. THX – dormitkon

2

Vous pouvez acquérir ce qui suit simplement les étapes suivantes

  1. Créer UIView (viewA) de taille 320 * 480, de sorte qu'il couvre tout l'écran de l'iPhone avec un fond mis à clearColor.This sera servir de super vue pour notre but;
  2. Créez un autre UIView (ViewB) de taille 320 * 480 avec une couleur de fond définie sur noir et une opacité sur 40%. 3.Maintenant, vous pouvez ajouter n'importe quelle vue sur ViewB.
  3. Maintenant, ajoutez ViewB à ViewA.

Enfin, vous pouvez présenter cette vue où jamais nécessaire. L'effet sera, ViewA couvrira le viewController en arrière-plan, ViewB servira d'effet de suppression pour le contrôleur de vue en arrière-plan et les vues sur B sont les UIElement que vous verrez.

Questions connexes