Problemes de hiérarchie de vue
Bonjour,
je suis toujours avec mon pacman qui marche très bien maintenant il suit parfaitement mon doigts au travers du labyrinthe.
Pour vous expliquer j'ai une image de fond qui représente le labyrinthe et apres j'ai un tableau qui "traduit" ce dernier en 0/1 le probleme est que j'ai ma vue qui dessine les boules à attraper qui n'arrive pas à se dessiner par dessus l'image de fond.
VOila comment mon code est structuré. J'ai une classe labyrinthe qui dessine les boules à partir de mon tableau dans la méthode drawRect(), ensuite cette UIView est attribuée dans ma classe principale UIViewController dans la méthode viewDidLoad() comme ceci :
Si dans cette méthode je fais ceci
L'image de fond s'affiche par dessus mes boules.
Et si je fais la même chose pour le UIView des boules en l'insérant au dessus de l'image c'est la meme chose, mais cela vient du fait que ma classe Labyrinthe ne s'affiche que si je l'attribue comme ceci :
self.view = myLaby; //instance de ma classe
Avez vous une idée de comment faire ?
Merci
je suis toujours avec mon pacman qui marche très bien maintenant il suit parfaitement mon doigts au travers du labyrinthe.
Pour vous expliquer j'ai une image de fond qui représente le labyrinthe et apres j'ai un tableau qui "traduit" ce dernier en 0/1 le probleme est que j'ai ma vue qui dessine les boules à attraper qui n'arrive pas à se dessiner par dessus l'image de fond.
VOila comment mon code est structuré. J'ai une classe labyrinthe qui dessine les boules à partir de mon tableau dans la méthode drawRect(), ensuite cette UIView est attribuée dans ma classe principale UIViewController dans la méthode viewDidLoad() comme ceci :
- (void)viewDidLoad {<br /> <br /> self.title = @"Bleeker";<br /> <br /> Labirynthe *myLabi = [[Labirynthe alloc] init];<br /> self.view = myLabi;<br /> self.view.backgroundColor = [UIColor clearColor];<br /> <br /> monBleeker = [[MyBleeker alloc] init];<br /> monBleeker.isBad = NO;<br /> monBleeker.x = 16.0;<br /> monBleeker.y = 16.0;<br /><br /> [self.view insertSubview:monBleeker.view atIndex:1];<br /> <br /> self.view.userInteractionEnabled = YES;<br /> [super viewDidLoad];<br />}<br />
Si dans cette méthode je fais ceci
UIImageView *blah = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]];<br /> [self.view addSubview:blah];<br /> [self.view sendSubviewToBack:blah];<br /> [blah release];
L'image de fond s'affiche par dessus mes boules.
Et si je fais la même chose pour le UIView des boules en l'insérant au dessus de l'image c'est la meme chose, mais cela vient du fait que ma classe Labyrinthe ne s'affiche que si je l'attribue comme ceci :
self.view = myLaby; //instance de ma classe
Avez vous une idée de comment faire ?
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
[self.view addSubview:labyrinthe.view];
[self.view addSubview:boules.view];
ce qui suffit à prendre l'ordre de superposition normalement ?!
Et dans ma UIViewController ma UIView n'est pas reconnue en tant que vue car si je fais un addSubview elle ne s'ajoute pas, elle s'ajoute uniquement si je fais un self.view = maVue;
Donc si tu crées ton UIViewController en lien avec un xib les lignes
Labirynthe *myLabi = [[Labirynthe alloc] init];
self.view = myLabi;
sont à remplacer par
Labirynthe *myLabi = [[Labirynthe alloc] init];
[self.view addSubview:myLabi];
[myLabi autorelease];
sinon le code est à mettre dans la méthode loadView:
J'ai plus de soucis maintenant.