J'ai créé une application basée sur la vue. J'ai un sampleGameViewContrioller.xib, qui contient la vue principale, et la vue enfant, qui est connectée avec la classe Behavior.Comment ajouter un UIImageView à un UIView (pas un UIViewController)?
SampleViewController.xib:
- Voir
- Voir < - Comportement
En sampleViewContoller.m je créer une instance de la classe Comportement:
Behavior *b = [[Behavior alloc] initilizeWithType:@"type" position:rect mapArray:arrMap];
Behavior.m:
-(id) initilizeWithType:(NSString *)type position:(CGRect) pos mapArray:(NSMutableArray *) mapArr {
self = [super initWithFrame:CGRectMake(0, 0, 1024, 570)];
if (self != nil) {
if ([type isEqualToString:@"type"]) {
arrMap = mapArr;
self.rectForDraw = pos;
self.file = [[NSString alloc]initWithString:@"girl.png"];
UIImageView *imgg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"girl.png"]];
imgg.frame = rect;
[self addSubview:imgg];
timer = [NSTimer scheduledTimerWithTimeInterval:0.015 target:self selector:@selector(moving:) userInfo:nil repeats:YES];
}
}
return self;}
Mais cela ne fonctionne pas. L'image ne s'ajoute pas à ma vue.
si j'ajoute imageView en - (void) drawRect: (CGRect) rect, il travaille:
- (void)drawRect:(CGRect)rect {
self.img = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"girl.png"]];
self.img.frame = CGRectMake(100, 100, 100, 100);
[self addSubview:self.img]; }
Mais j'envoyer des paramètres de dessin en classe Comportement par constructeur. Comment ajouter imageView sans méthode drawRect, avec mon constructeur?
désolé pour mon anglais :)
Pouvez-vous clarifier ce qui suit: Que faites-vous avec 'b' après l'avoir créé dans votre viewcontroller? Quel 'drawRect' substituez-vous dans votre dernier extrait de code? Est-ce la classe 'Behavior'? – jrturton
Je crée une instance de classes pour gérer chacune d'elles. La classe dessine l'image et la déplace dans sa propre logique. Ainsi, créé un tableau d'instances, dont chacune est responsable de déplacer l'image. – Benjamin
>> Quels drawRect substituez-vous dans votre dernier extrait de code? Est-ce la classe Behavior? Oui, dans la classe Comportement. Mais c'est juste un échantillon – Benjamin