2012-11-05 2 views
0

AlertView Je woking sur un projet où je dois montrer une vue personnalisée d'alerte similaire à uiview-as-alertviewUIView comme

J'ai trouvé que la personnalisation UIAlertView est une mauvaise approche! Donc, la façon d'y parvenir est d'utiliser UIView, qui Pop-in et Pop-out comme UIAlertView en utilisant l'animation.

J'ai vu aussi certains objectifs stratégiques [question]: How can I customize an iOS alert view? et [question]: UIView Popup like UIAlertView problème que je suis toujours confronté, comme AlertView ne figurant pas. Quelqu'un peut-il juste partager un bon tutoriel sur le même.

// Merci

+1

Personnaliser l'affichage d'alerte et mettre en œuvre sa méthode drawRect. – iDev

Répondre

0

Le système UIAlertView crée sa propre UIWindow afin qu'il puisse flotter au-dessus de votre UIWindow normal. Vous pourriez vouloir essayer cette approche. Si vous le faites, vous trouverez peut-être quelques conseils utiles dans this answer about using extra UIWindows.

+0

J'ai sous-classé la classe UIView pour dessiner ce menu. Puis instancié pour être affiché sur le contrôleur de vue parent. Pour gérer les événements tactiles dans le VC parent, j'ai utilisé l'approche Protocol-delegate! – ibiren

0

Vous pouvez poursuivre Modal Voir

Un contrôleur modal de la vue est tout simplement une classe UIViewController qui est présenté de façon modale.

Pour présenter un contrôleur de vue d'une façon modale, vous pouvez utiliser la méthode:

- (void)presentModalViewController:(UIViewController *)modalViewController animated:(BOOL)animated; 

changer le cadre en tant que 50% de la vue et vous pouvez appliquer différentes animations pour la représentation.

Voici les styles de transition modal disponibles

yourModelViewController.modalTransitionStyle = UIModalTransitionStyleCoverVertical; 
yourModelViewController.modalTransitionStyle = UIModalTransitionStyleCrossDissolve; 
yourModelViewController.modalTransitionStyle = UIModalTransitionStyleFlipHorizontal; 
yourModelViewController.modalTransitionStyle = UIModalTransitionStylePartialCurl; 

Exemple de code:

UIViewController *controller = [[MyViewController alloc] init]; 
controller.frame = yourFrame; 
UIViewAnimationTransition trans = UIViewAnimationTransitionCurlUp; 
[UIView beginAnimations: nil context: nil]; 
[UIView setAnimationTransition: trans forView: [self window] cache: YES]; 
[self.view presentModalViewController: controller animated: NO]; 
[UIView commitAnimations]; 
Questions connexes