J'ai un UIView au milieu d'une vue que j'utilise comme zone de jeu (dans une vue cacao 2d). Cette image possède une image d'arrière-plan de la même taille que la vue. Redimensionnement de la vue J'utilise une animation pour la rendre lisse (et cela fonctionne bien). Cependant, lorsque l'animation commence, l'image d'arrière-plan change immédiatement de taille, de mosaïque ou d'écrêtage à une taille qui, lorsque l'animation se termine, l'image d'arrière-plan est physiquement de la même taille.Redimensionnement de l'image d'arrière-plan lors de l'animation de UIView
Je ne veux pas cela, je veux que l'image corresponde toujours à la vue, quelle que soit la taille de la vue.
UIImage *bgImage = [UIImage imageNamed:@"head.png"];
... // resize the image returning another image
self.view.backgroundColor = [[UIColor alloc] initWithPatternImage:resizedImage];
[UIView beginAnimations:@"resizeView" context:nil];
[UIView setAnimationDuration:.5];
int localViewSize = ... // work out view sizes
self.view.frame = CGRectMake(... ,localViewSize,localViewSize);
[UIView commitAnimations];
Il semble très étrange car il saute à une taille différente, puis anime à la taille d'origine.
Je devine que je devrais peut-être faire une vue séparée sous ma vue principale mais est-ce la seule manière?
Donc, le contenu est redimensionné pour s'adapter à la nouvelle vue, puis l'animation se produit? Je vais essayer le mode de contenu central, bien que je souhaite idéalement que l'image de fond prenne l'ensemble de la vue à n'importe quel zoom. Merci – Woody
Si l'image est assez grande, il suffit d'utiliser l'image dans un UIImageView avec le mode de contenu correct et de définir clipsToBounds = YES. –
J'ai décidé pour le moment de le faire d'une autre manière, car ça ne marchait pas bien! – Woody