J' ai un petit soucis basique, après des recherches sur Google j'ai vu que je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours pas trouvé la solution.
Quelqu'un parmi vous a certainement la solution.
Je veux faire disparaitre un bouton(button) en en touchant un autre(abutton1), et le faire réapparaitre de la même manière si il a déjà été supprimé. Le code qui suit ne fonctionne pas :
- (IBAction)abutton1:(id)sender
{
if (button.hidden == YES){
button.hidden = NO;
}
else
{
buttton.hidden=YES;
}
}
(Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
tu as un button avec deux "t", et un autre avec trois. (button vs buttton). C'est dans ton code ou juste dans le mail?
Sinon, je ne sais pas si c'est le problème, mais il ne faut jamais comparer un booléen avec YES. Dans ton exemple, mieux vaut écrire par exemple, "if(button.hidden)", ou directement, "button.hidden = ! button.hidden;".
(Si ça peut aider…)
--
Nicolas
Le 18 juin 2012 à 17:07, Frédéric Elharar a écrit :
> J' ai un petit soucis basique, après des recherches sur Google j'ai vu que je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours pas trouvé la solution.
> Quelqu'un parmi vous a certainement la solution.
> Je veux faire disparaitre un bouton(button) en en touchant un autre(abutton1), et le faire réapparaitre de la même manière si il a déjà été supprimé. Le code qui suit ne fonctionne pas :
> - (IBAction)abutton1:(id)sender
> {
> if (button.hidden == YES){
> button.hidden = NO;
> }
> else
> {
> buttton.hidden=YES;
> }
> }
> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> tu as un button avec deux "t", et un autre avec trois. (button vs buttton). C'est dans ton code ou juste dans le mail?
> Sinon, je ne sais pas si c'est le problème, mais il ne faut jamais comparer un booléen avec YES. Dans ton exemple, mieux vaut écrire par exemple, "if(button.hidden)", ou directement, "button.hidden = ! button.hidden;".
> (Si ça peut aider…)
> --
> Nicolas
> Le 18 juin 2012 à 17:07, Frédéric Elharar a écrit :
>> Bonjour à tous,
>> J' ai un petit soucis basique, après des recherches sur Google j'ai vu que je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours pas trouvé la solution.
>> Quelqu'un parmi vous a certainement la solution.
>> Je veux faire disparaitre un bouton(button) en en touchant un autre(abutton1), et le faire réapparaitre de la même manière si il a déjà été supprimé. Le code qui suit ne fonctionne pas :
>> - (IBAction)abutton1:(id)sender
>> {
>> if (button.hidden == YES){
>> button.hidden = NO;
>> }
>> else
>> {
>> buttton.hidden=YES;
>> }
>> }
>> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
>> -- >> You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
>> To post to this group, send email to cocoaheads-france@googlegroups.com.
>> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
>> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> Tu as essayé de suivre ce qui se passe au débugger ? Tu peux aussi logger
> la valeur de hidden au début de la fonction.
> Le 20 juin 2012 à 00:32, Nicolas Bouilleaud <nicolas.bouille...@gmail.com>
> a écrit :
> Hello,
> tu as un button avec deux "t", et un autre avec trois. (button vs
> buttton). C'est dans ton code ou juste dans le mail?
> Sinon, je ne sais pas si c'est le problème, mais il ne faut jamais
> comparer un booléen avec YES<http://weblog.bignerdranch.com/564-bools-sharp-corners/>.
> Dans ton exemple, mieux vaut écrire par exemple, "if(button.hidden)", ou
> directement, "button.hidden = ! button.hidden;".
> (Si ça peut aider…)
> --
> Nicolas
> Le 18 juin 2012 à 17:07, Frédéric Elharar a écrit :
> Bonjour à tous,
> J' ai un petit soucis basique, après des recherches sur Google j'ai vu que
> je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours
> pas trouvé la solution.
> Quelqu'un parmi vous a certainement la solution.
> Je veux faire disparaitre un bouton(button) en en touchant un
> autre(abutton1), et le faire réapparaitre de la même manière si il a déjà
> été supprimé. Le code qui suit ne fonctionne pas :
> - (IBAction)abutton1:(id)sender
> {
> if (button.hidden == YES){
> button.hidden = NO;
> }
> else
> {
> buttton.hidden=YES;
> }
> }
> (Et ce avec les déclarations addoc dans l'"@interface", les "@property"et "@synthesize".)
> --
> You received this message because you are subscribed to the Google Groups
> "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to
> cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/cocoaheads-france?hl=en.
> --
> You received this message because you are subscribed to the Google Groups
> "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to
> cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/cocoaheads-france?hl=en.
> --
> You received this message because you are subscribed to the Google Groups
> "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to
> cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/cocoaheads-france?hl=en.
> Pour nous permettre de reproduire le problème : à quels évènements as-tu attaché cette action ?
> thomas
> 2012/6/19 Mathieu Godart <mathieu.god...@gmail.com>
> Tu as essayé de suivre ce qui se passe au débugger ? Tu peux aussi logger la valeur de hidden au début de la fonction.
> Le 20 juin 2012 à 00:32, Nicolas Bouilleaud <nicolas.bouille...@gmail.com> a écrit :
>> Hello,
>> tu as un button avec deux "t", et un autre avec trois. (button vs buttton). C'est dans ton code ou juste dans le mail?
>> Sinon, je ne sais pas si c'est le problème, mais il ne faut jamais comparer un booléen avec YES. Dans ton exemple, mieux vaut écrire par exemple, "if(button.hidden)", ou directement, "button.hidden = ! button.hidden;".
>> (Si ça peut aider…)
>> --
>> Nicolas
>> Le 18 juin 2012 à 17:07, Frédéric Elharar a écrit :
>>> Bonjour à tous,
>>> J' ai un petit soucis basique, après des recherches sur Google j'ai vu que je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours pas trouvé la solution.
>>> Quelqu'un parmi vous a certainement la solution.
>>> Je veux faire disparaitre un bouton(button) en en touchant un autre(abutton1), et le faire réapparaitre de la même manière si il a déjà été supprimé. Le code qui suit ne fonctionne pas :
>>> - (IBAction)abutton1:(id)sender
>>> {
>>> if (button.hidden == YES){
>>> button.hidden = NO;
>>> }
>>> else
>>> {
>>> buttton.hidden=YES;
>>> }
>>> }
>>> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
>>> -- >>> You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
>>> To post to this group, send email to cocoaheads-france@googlegroups.com.
>>> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
>>> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
>> -- >> You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
>> To post to this group, send email to cocoaheads-france@googlegroups.com.
>> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
>> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
Vérifiés que tu as bien bindé tous tes outlets et toutes tes actions.
Envoyé de mon iPhone
Le 20 juin 2012 à 00:24, "Frédéric Elharar" <frederic.elha...@wanadoo.fr> a
écrit :
Bonjour à tous,
J' ai un petit soucis basique, après des recherches sur Google j'ai vu que
je n'étais pas le seul à avoir rencontré ce problème mais je n'ai toujours
pas trouvé la solution.
Quelqu'un parmi vous a certainement la solution.
Je veux faire disparaitre un bouton(button) en en touchant un
autre(abutton1), et le faire réapparaitre de la même manière si il a déjà
été supprimé. Le code qui suit ne fonctionne pas :
- (IBAction)abutton1:(id)sender
{
if (button.hidden == YES){
button.hidden = NO;
}
else
{
buttton.hidden=YES;
}
}
(Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "
@synthesize".)
--
You received this message because you are subscribed to the Google Groups
"CocoaHeads France" group.
To post to this group, send email to cocoaheads-france@googlegroups.com.
To unsubscribe from this group, send email to
cocoaheads-france+unsubscribe@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/cocoaheads-france?hl=en.
> On 18 juin 2012, at 17:07, Frédéric Elharar <frederic.elha...@wanadoo.fr> wrote:
>> (IBAction)abutton1:(id)sender
>> {
>> if (button.hidden == YES){
>> button.hidden = NO;
>> }
>> else
>> {
>> buttton.hidden=YES;
>> }
>> }
>> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
> Attention, actuellement tu n'accèdes pas à ton butt(t)on via les property que tu déclares.
> Si tu as > @property (strong) UIButton *button;
> alors tu utilises self.button
> Cela dit, au vu du fonctionnement que tu décris, ton problème n'est pas là. > Si tu ne trouves toujours pas, mets sur pastebin ton .h et .m complets.
> -- > Guillaume
> Sent from a mobile device.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
Sachant que quand je teste j'ai self.button.hidden = 0 ; donc la 1ère condition est effectivement considérée comme fausse, ça passe à "else" directement, parfait, d'ou la 1ere ligne de NSLog ; ce que je ne comprends c'est pourquoi il repart sur le test "if" pour m'afficher la 2ème ligne !!? J'oublie quelque chose qui doit arrêter le test après le "else" ??
J'ai le même résultat avec "switch".:(
Encore merci !
PS les "button "ou" buttton" ne sont là que pour le mail.
Le 20 juin 2012 à 10:39, Guillaume Cerquant a écrit :
> On 18 juin 2012, at 17:07, Frédéric Elharar <frederic.elha...@wanadoo.fr> wrote:
>> (IBAction)abutton1:(id)sender
>> {
>> if (button.hidden == YES){
>> button.hidden = NO;
>> }
>> else
>> {
>> buttton.hidden=YES;
>> }
>> }
>> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
> Attention, actuellement tu n'accèdes pas à ton butt(t)on via les property que tu déclares.
> Si tu as > @property (strong) UIButton *button;
> alors tu utilises self.button
> Cela dit, au vu du fonctionnement que tu décris, ton problème n'est pas là. > Si tu ne trouves toujours pas, mets sur pastebin ton .h et .m complets.
> -- > Guillaume
> Sent from a mobile device.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
Mets un log au début de ta méthode, avant le if, et vérifie qu'il ne s'affiche pas deux fois pour un touch.
Si c'est effectivement le cas, vérifie dans ton xib que ton bouton n'est pas configuré avec deux actions qui pointent sur ta méthode.
-- Guillaume
On 20 juin 2012, at 20:14, Frédéric Elharar wrote:
> Sachant que quand je teste j'ai self.button.hidden = 0 ; donc la 1ère condition est effectivement considérée comme fausse, ça passe à "else" directement, parfait, d'ou la 1ere ligne de NSLog ; ce que je ne comprends c'est pourquoi il repart sur le test "if" pour m'afficher la 2ème ligne !!? J'oublie quelque chose qui doit arrêter le test après le "else" ??
> J'ai le même résultat avec "switch".:(
> Encore merci !
> PS les "button "ou" buttton" ne sont là que pour le mail.
> Le 20 juin 2012 à 10:39, Guillaume Cerquant a écrit :
>> On 18 juin 2012, at 17:07, Frédéric Elharar <frederic.elha...@wanadoo.fr> wrote:
>>> (IBAction)abutton1:(id)sender
>>> {
>>> if (button.hidden == YES){
>>> button.hidden = NO;
>>> }
>>> else
>>> {
>>> buttton.hidden=YES;
>>> }
>>> }
>>> (Et ce avec les déclarations addoc dans l'"@interface", les "@property" et "@synthesize".)
>> Attention, actuellement tu n'accèdes pas à ton butt(t)on via les property que tu déclares.
>> Si tu as >> @property (strong) UIButton *button;
>> alors tu utilises self.button
>> Cela dit, au vu du fonctionnement que tu décris, ton problème n'est pas là. >> Si tu ne trouves toujours pas, mets sur pastebin ton .h et .m complets.
>> -- >> Guillaume
>> Sent from a mobile device.
>> -- >> You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
>> To post to this group, send email to cocoaheads-france@googlegroups.com.
>> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
>> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.
On 20 juin 2012, at 20:14, Frédéric Elharar wrote:
> ce que je ne comprends c'est pourquoi il repart sur le test "if" pour m'afficher la 2ème ligne !!? J'oublie quelque chose qui doit arrêter le test après le "else" ??
M'est-avis qu'il y a deux actions de configurées sur le bouton. Par exemple, une sur le TouchDownInside et une seconde sur le TouchUpInside.
Merci encore ! C'est bien au niveau du storyboard qu'il y avait un problème ! J'avais relié mes boutons au ViewController et au FirstReponder ! Quelle idée !!!:)))
Fred
Le 24 juin 2012 à 01:55, Thibaut Jarosz <thibaut.jar...@gmail.com> a écrit :
> On 20 juin 2012, at 20:14, Frédéric Elharar wrote:
>> ce que je ne comprends c'est pourquoi il repart sur le test "if" pour m'afficher la 2ème ligne !!? J'oublie quelque chose qui doit arrêter le test après le "else" ??
> M'est-avis qu'il y a deux actions de configurées sur le bouton. Par exemple, une sur le TouchDownInside et une seconde sur le TouchUpInside.
> -- > You received this message because you are subscribed to the Google Groups "CocoaHeads France" group.
> To post to this group, send email to cocoaheads-france@googlegroups.com.
> To unsubscribe from this group, send email to cocoaheads-france+unsubscribe@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/cocoaheads-france?hl=en.