2010-02-11 6 views
2

Mon application a une UIBarButtonItem avec UIBarButtonItemPause icône dans le coin supérieur droit de l'écran sur un UINavigationBar. Je cherche à l'avoir de sorte que lorsque j'appuie sur le bouton, il change l'icône en bouton de lecture, et revienne à un bouton de pause quand il n'est pas interrompu (similaire à la façon dont iTunes, Quicktime, ou le lecteur multimédia intégré de l'iPhone lorsque j'appuie sur le bouton lecture/pause, est-ce que je peux simplement changer l'icône ou est-ce qu'il faudrait créer un nouveau bouton à chaque fois et le placer sur la barre pour que cela se produise? le bouton se trouve ici.initWithBarButtonItem est passé de UIBarButtonSystemItemPause à UIBarButtonSystemItemPlay?

- (IBAction)pauseapp:(UIBarButtonItem *)sender 
{ 
if(paused==TRUE) 
{ 
    paused=FALSE; 
    [pause initWithBarButtonSystemItem:(UIBarButtonSystemItemPause) target:self action:NULL]; 
    return; 
} 
else if(paused==FALSE) 
{ 
    paused=TRUE; 
    [pause initWithBarButtonSystemItem:(UIBarButtonSystemItemPlay) target:self action:NULL]; 
    return; 
} 
+0

Il semble que cette chose évidente à vouloir faire et très étrange que la pomme de pomme Ne vous laissez pas changer le SystemItem après avoir créé le bouton. –

+0

D'accord. Cette API, comme plusieurs autres sur iOS, a été clairement conçue par des crackheads. Je ne sais pas ce que je ferais sans S/O pour m'aider à contourner toute l'idiotie. –

Répondre

0

vous devez créer un nouveau bouton à chaque fois, vous ne devriez jamais appeler initXXX sur un objet plus d'une fois (juste après alloc)

Questions connexes