Float qui se réinitialise automatiquement

[font=Verdana, Times, serif]Bonjour, [/font]



[font=Verdana, Times, serif]Je rencontre quelques difficultés avec une UIColor[/font]



[font=Verdana, Times, serif]J'ai un RootViewController avec un BackgroudColor qui peut être change en cliquant sur un bouton.[/font]



[font=Verdana, Times, serif]Pour que l'utilisateur puisse vraiment personnaliser j'ai créé un bouton "Couleur personnalisée".[/font]



[font=Verdana, Times, serif]Et un autre pour "Configurer" cette couleur. Quand on clique sur celui-ci on arrive sur un Color Picker.[/font]



[font=Verdana, Times, serif]On choisit sa couleur qui est représentée par 3 float (R,V,image/cool.png' class='bbc_emoticon' alt='B)' /> qui vont vers le RootViewController. Jusque là  tout va bien.[/font]



[font=Verdana, Times, serif]Mais une fois de retour sur le RootViewController, on se rend compte que si on était déjà  sur le bouton "Couleur Personnalisée". Le fond est noir.[/font]



[font=Verdana, Times, serif]Et si on était sur un autre bouton et qu'on clique sur "Couleur Personnalisée" pareil. Le fond est noir.[/font]



[font=Verdana, Times, serif]Quand on reviens sur le RootViewController les float sont bien remplies.[/font]



[font=Verdana, Times, serif]Mais des qu'on clique sur le bouton elle se mettent directement à  0. Ce qui donne évidemment du noir.[/font]



[font=Verdana, Times, serif]Je n'arrive pas à  les empêcher de se réinitialiser.[/font]



[font=Verdana, Times, serif]Merci d'avance.[/font]



[font=Verdana, Times, serif]xCodement,[/font]

[font=Verdana, Times, serif]VincentS[/font]
Mots clés:

Réponses

  • Euh .. tu peux nous montrer un peu de code ?
  • Ah oui désolé :





    Voila mon RootViewController :


    <br />
    - (UIColor*)getBackgroundColorForTag:(int)tag<br />
    {<br />
    	if (tag == 1) {<br />
    		[self.view setBackgroundColor:[UIColor blackColor]];<br />
    		return [UIColor blackColor];<br />
    	} else if (tag == 2) {<br />
    		[self.view setBackgroundColor:[UIColor whiteColor]];<br />
    		return [UIColor whiteColor];<br />
    	} else if (tag == 3) {<br />
    		[self.view setBackgroundColor:[UIColor redColor]];<br />
    		return [UIColor redColor];<br />
    	} else if (tag == 4) {<br />
    		[self.view setBackgroundColor:[UIColor greenColor]];<br />
    		return [UIColor greenColor];<br />
    	} else if (tag == 5) {<br />
    		[self.view setBackgroundColor:[UIColor blueColor]];<br />
    		return [UIColor blueColor];<br />
    	} else if (tag == 6) {<br />
    		[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@&quot;bg_checker.png&quot;]]];<br />
    		return [UIColor colorWithPatternImage:[UIImage imageNamed:@&quot;bg_checker.png&quot;]];<br />
    	} else if (tag == 7) {<br />
    		[self.view setBackgroundColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@&quot;pattern_image.png&quot;]]];<br />
    		return [UIColor colorWithPatternImage:[UIImage imageNamed:@&quot;pattern_image.png&quot;]];<br />
    	} else if (tag == 8) {<br />
    		NSLog(@&quot;In Get self.redR: %f self.greenG: %f self.blueB: %f&quot;, self.redR, self.greenG, self.blueB);<br />
    		return [UIColor colorWithRed:self.redR green:self.greenG blue:self.blueB alpha:1.0f];<br />
    	}<br />
    	return [UIColor blackColor];<br />
    }<br />
    




    Et le Color Picker

    self.redColor / self.greenColor / self.blueColor sont généré par le picker
    <br />
    self.redColor = rgbColor.r;<br />
    	self.greenColor = rgbColor.g;<br />
    	self.blueColor = rgbColor.b;<br />
    <br />
    	RootViewController *root = [[RootViewController alloc] init];<br />
    	remote.redR = self.redColor;<br />
    	remote.greenG = self.greenColor;<br />
    	remote.blueB = self.blueColor;<br />
    
  • CéroceCéroce Membre, Modérateur
    Que te dire?

    Un float ne se met pas à  zéro automatiquement. Les variables d'instance des objets sont initialisées à  zéro. Je supposes donc que tu fixes les floats d'un objet, mais que tu vas lire ceux d'une autre instance, ou quelque chose comme ça. Seul débogguer en plaçant des points d'arrêt te donnera la réponse.
  • AliGatorAliGator Membre, Modérateur
    Pourquoi recréer un RootViewController différent avec alloc/init alors que tu devrais modifier les valeurs du RootViewController existant ?



    Tu devrais sans doute lire mon article sur l'utilisation des delegates et comment faire communiquer deux ViewControllers.
  • 'AliGator' a écrit:


    Pourquoi recréer un RootViewController différent avec alloc/init alors que tu devrais modifier les valeurs du RootViewController existant ?



    Tu devrais sans doute lire mon article sur l'utilisation des delegates et comment faire communiquer deux ViewControllers.


    J'y vais de ce pas.


    'Céroce' a écrit:


    Que te dire?

    Un float ne se met pas à  zéro automatiquement. Les variables d'instance des objets sont initialisées à  zéro. Je supposes donc que tu fixes les floats d'un objet, mais que tu vas lire ceux d'une autre instance, ou quelque chose comme ça. Seul débogguer en plaçant des points d'arrêt te donnera la réponse.


    Je ne me suis encore jamais servi de ça. Je vais regarder de plus près merci image/smile.png' class='bbc_emoticon' alt=':)' />
Connectez-vous ou Inscrivez-vous pour répondre.