2009-06-24 6 views
0

J'ai besoin de personnaliser la page où, dans tout événement, le "panneau de menu bouton" personnalisable a été visible par le bas, tout comme l'une de l'application " Twitterrific "(s'il vous plaît voir la capture d'écran). J'ai essayé de l'implémenter avec les propriétés de modalViewController mais il remplit ma vue personnalisable sur l'ensemble de l'écran et ma vue parente disparaît en arrière-plan.Voulez-vous afficher la "vue du menu bouton" surgit du fond dans l'iphone

extrait de code:

MyCustomizableButtonMenuContoller *buttonMenucontroller = 
    [[MyCustomizableButtonMenuContoller alloc] init]; 

// To show my customizable button menu from bottom at parent view on any event. 
[self presentModalViewController:buttonMenucontroller animated:YES]; 

//To hide customizable button menu. 
[self dismissModalViewConrollerAnimated:YES]; 

J'ai aussi essayé de transparence mon point de vue de bouton de menu personnalisable, mais il ne fonctionne pas sur mon exigence. La feuille UIActions semble être celle que je cherche mais est-il encore possible de personnaliser les boutons avec des images? S'il y a d'autres façons de réaliser le scénario dans la capture d'écran, s'il vous plaît laissez-moi savoir vos conclusions ou vos idées.

Screenshot:

Twitterrific screenshot http://scaline3.appspot.com/Button_menu_pane.png

Répondre

3

Vous ne souhaitez pas utiliser un contrôleur de vue modale pour cela. Vous ne pouvez pas obtenir cet effet de "superposition partielle" de cette façon, car le système d'exploitation de l'iPhone émet plusieurs hypothèses sur les vues des contrôleurs de vue imbriqués. Au lieu de cela, vous devez créer un UIView avec plusieurs UIButtons à l'intérieur qui sont initialement cachés au bas de votre vue principale. Lorsque l'utilisateur clique sur le bouton de personnalisation, vous devez animer la vue vers le haut en place. Le panneau fera partie de votre contrôleur principal, mais votre code ne devrait pas être trop différent.

Si vous débutez avec Objective-C, vous devriez lire la documentation Core Animation. Vous devriez être capable d'animer la vue avec très, très peu de code. Voici un exemple:

[UIView beginAnimations:nil context: nil]; 
[UIView setAnimationDuration: 0.5]; 
[myDetailPane setFrame:CGRectMake(0, [self bounds].size.height - [myDetailPane bounds].size.height, [myDetailPane bounds].size.width, [myDetailPane bounds].size.height)]; 
[UIView commitAnimations]; 

Aucun temporisateur ou mouvement progressif de la vue n'est nécessaire - le système s'en chargera.

+0

Bonjour Ben, Merci mon ami d'avoir fait ma journée;), ça marche un peu génial grâce à l'animation de base. Bravo!! – nabeelmukhtar

+0

Bonjour Ben, J'ai fait le menu de bouton personnalisé par l'animation, mais maintenant quand j'essaye d'afficher le "bouton de menu personnalisé" il se cache sous l'onglet BarController. Pouvez-vous s'il vous plaît me dire quel sera le meilleur pour masquer la barre d'onglets lorsque mon "volet de menu personnalisé" est visible. Merci d'avance. – nabeelmukhtar

0

l'exemple d'Apple dans leur documentation semble utiliser des contrôleurs de navigation. Cela pourrait vous aider: Using Modal View Controllers

Bonne chance!

+0

Merci à Loki pour la réponse rapide et partagez vos impressions, mais que recherchiez-vous grâce à l'animation d'UIView? – nabeelmukhtar

Questions connexes