J'utilise UIBARBUTTONSystemItemPlay pour jouer mon fichier audio et je veux modifier son style de manière dynamique lorsque je clique dessus. Est-ce possible?, Si oui, alors aidez-moi s'il vous plaît. Ceci est mon code, où _playpause est Iboutlet d'Uibarbuttonsystemitemplay. Merci d'avance.
4 Réponses :
Je pense que lorsque le style est défini initialement (c'est-à-dire dans l'interface Builder ou lorsque vous créez le bouton du code), vous ne pouvez pas la modifier.
Votre autre option est de supprimer le bouton du code et de créer un Nouveau à sa place en utilisant un style différent. Vous pouvez appeler cette méthode: p> pour plus d'informations sur le uibarbuttonitem code> Jetez un coup d'oeil à
uibarbuttonsystemitemplay code> ou uibarbutonsysystemitempause code> ne peut pas être récupéré par une propriété de style. style est de type uibarbuttonitemstyle code>. p>
Voici une solution assez complète à cela que je viens de mettre en œuvre:
Tout d'abord, définissez Vars pour contenir les deux boutons: p> (ma compréhension ici est que la barre d'outils est une refonte faible puisqu'il est défini via IB et qu'il a un pointeur fort, mais que les boutons de jeu / pause sont des pointeurs puissants, car nous les créons ci-dessous. Mais mon FU est un peu faible sur ce front comme un peu faible Newbie, donc corrections appréciées.) p> Deuxièmement, dans IB Créez juste un bouton de lecture (pas de bouton de pause) et attachez-la à la lecture ci-dessus. p> troisième, configurez cette méthode. : P> -(IBAction) playAudio:(id)sender
{
[self.audioPlayer play];
[self setAsPlaying:YES];
}
-(IBAction) pauseAudio:(id)sender
{
[self.audioPlayer pause];
[self setAsPlaying:NO];
}
En outre, vous n'avez pas besoin d'utiliser les propriétés code> fort de code>, car vous êtes réinstitutionnellement uibarbuttonitem code> de toute façon. Vous pouvez utiliser une variable locale uibarbuttonitem code> dans votre méthode et des propriétés code> faibles.
Vous pouvez récupérer l'index de manière dynamique du bouton pour supprimer, en effectuant NSInteger Index = [Toolbarbuttons IndexObject: ButTontoremove] [CODE> [TOOBARBUTTONS RETPLEDOBJEINDEX: Index withObject: ButonTaTDD] Code>
Oui, vous ne pouvez pas changer le "style" (ce n'est pas vraiment appelé style) une fois qu'il est défini.
Oui, vous pouvez faire un autre bouton qui le corrige. P>
ici est réutilisable Code qui fait que: p> ici, le contrôleur est généralement auto code>. p> p>
Avez-vous essayé avec
== code> au lieu de= code>? ... Quoi qu'il en soit, je voudrais utiliser un drapeau ivar bool pour vérifier si l'audio joue ou non.Oh pardon! Merci beaucoup, je vais vérifier et venir à vous plus tard.
Je l'ai vérifié, mais ça ne marche pas.
UIBARBUTTONSystemitem code> ne peut pas être récupéré par la propriété code> style code>.style code> est de typeuibarbuttonitemstyle code>.Le
uibarbuttonitem code> doit être remplacé en utilisant [la méthode décrite dans cette réponse] [1]. [1]: Stackoverflow.com/Questtions/1078597/... Salut @khalidusman voulait juste demander si l'une des réponses ci-dessous vous a aidé