¿Cómo puedo voltear un UIImageView?¿Cómo puedo voltear un UIImageView?
Respuesta
Usted debe ser capaz de voltear la vista vertical con:
imageView.transform = CGAffineTransformMake(
1, 0, 0, -1, 0, imageView.bounds.size.height
);
que lo voltea diagonal – Sney
crear dos UIImageView frontImageView & backImageView
crear una UIView containerView para contener UIImageView
Mostrar frontImageView en el principio.
después del tirón, muestran backImageView
código:
// before flip
frontImageView = [[UIImageView alloc] initWithImage:[UIImage
imageNamed:@"test.png"]];
containerView = [[UIView alloc] initWithFrame:frontImageView.bounds];
containerView.center = CGPointMake(200,200);
[self.view addSubview:containerView];
[containerView addSubview:frontImageView];
-(IBAction)flipButtonClicked:(id)sender
{
backImageView = [[UIImageView alloc] initWithImage:[UIImage
imageNamed:@"cardback.png"]];
backImageView.center = frontImageView.center;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromLeft
forView:containerView
cache:YES];
[frontImageView removeFromSuperview];
[containerView addSubview:backImageView];
[UIView commitAnimations];
}
#import <QuartzCore/QuartzCore.h>
...
- (UIImage *) flipImageVertically:(UIImage *)originalImage direction:(NSString *)axis {
UIImageView *tempImageView = [[UIImageView alloc] initWithImage:originalImage];
UIGraphicsBeginImageContext(tempImageView.frame.size);
CGContextRef context = UIGraphicsGetCurrentContext();
CGAffineTransform flipVertical = CGAffineTransformMake(0, 0, 0, 0, 0, 0);
if([axis isEqualToString:@"x"])
{
flipVertical = CGAffineTransformMake(
1, 0, 0, -1, 0, tempImageView.frame.size.height
);
}
else if([axis isEqualToString:@"y"])
{
flipVertical = CGAffineTransformMake(
-1, 0, 0, 1, tempImageView.frame.size.width, 0
);
}
CGContextConcatCTM(context, flipVertical);
[tempImageView.layer renderInContext:context];
UIImage *flipedImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[tempImageView release];
return flipedImage;
}
He editado código Sound Blaster un poco para devolver un UIImageView. Sin embargo, este código no le permite voltear la imagen vertical y horizontalmente al mismo tiempo. Sin embargo, una solución para esto debería ser bastante fácil.
- (UIImageView *) flipImage:(UIImageView *)originalImage Horizontal:(BOOL)flipHorizontal {
if (flipHorizontal) {
originalImage.transform = CGAffineTransformMake(originalImage.transform.a * -1, 0, 0, 1, originalImage.transform.tx, 0);
}else {
originalImage.transform = CGAffineTransformMake(1, 0, 0, originalImage.transform.d * -1, 0, originalImage.transform.ty);
}
return originalImage; }
Modifiqué para voltear la mía horizontal y vertical temp.BackgroundImage.transform = CGAffineTransformMake (temp.BackgroundImage.transform.a * -1, 0, 0, -1, temp.BackgroundImage.transform.tx, 0) ; –
Usando el código de @Fellowsoft tengo crear un método de rotación de animación.
gracias a Fellowsoft !!
-(void)rotateImage:(UIImageView*)image withDuration:(float)duration isHorizzonal:(BOOL)horizontal{
[UIView animateWithDuration:duration/2.0 animations:^{image.transform = horizontal?
CGAffineTransformMake(image.transform.a * -1, 0, 0, 1, image.transform.tx, 0)
:CGAffineTransformMake(1, 0, 0, image.transform.d * -1, 0, image.transform.ty);}
completion:^(BOOL finished)
{
//half animation
[UIView animateWithDuration:duration/2.0 animations:^{image.transform = horizontal?
CGAffineTransformMake(image.transform.a * -1, 0, 0, 1, image.transform.tx, 0)
:CGAffineTransformMake(1, 0, 0, image.transform.d * -1, 0, image.transform.ty);}
completion:^(BOOL finished) { }];
}];
}
de forma horizontal flip
imageView.transform = CGAffineTransformScale(imageView.transform, -1.0, 1.0);
para voltear verticalmente
imageView.transform = CGAffineTransformScale(imageView.transform, 1.0, -1.0);
- 1. ¿Cómo puedo voltear un sprite/textura en OpenGLES?
- 2. ¿Cómo puedo agregar programáticamente un UIImage a un UIImageView y agregar ese UIImageView a otro UIView?
- 3. cómo oscurecer un UIImageView
- 4. cómo puedo detectar el evento táctil de un UIImageView
- 5. ¿Cómo puedo cambiar la imagen mostrada en un UIImageView programáticamente?
- 6. ¿Cómo puedo girar un UIImageView en 20 grados?
- 7. ¿Cómo puedo acercar y alejar un UIImageView sin UIScrollView?
- 8. Voltear un sprite en lienzo
- 9. Voltear un lienzo de Android
- 10. Mover un uiimageview animado
- 11. iOS tirón grado UIImageView 180 (no animada)
- 12. iPhone iOS ¿cómo voltear/reflejar cualquier UIView en el lugar?
- 13. Cómo voltear ImageView en Android?
- 14. Cómo voltear ventanas en vim?
- 15. ¿Cómo ocultar/mostrar UIimageview?
- 16. Haciendo un UIImageView gris
- 17. cómo voltear la imagen en wpf
- 18. Voltear imagen con Graphics2D
- 19. UIView voltear verticalmente
- 20. Cómo voltear un JFrame y sus hijos al revés?
- 21. ¿Cómo puedo detectar cada vez que se superponen dos UIImageView?
- 22. ¿Cómo puedo hacer que UIImageView cambie su imagen mediante programación?
- 23. Voltear bits en python
- 24. Voltear la textura OpenGL
- 25. Voltear UIViews desde arriba/abajo
- 26. Android ViewFlipper no voltear
- 27. create UIImageView
- 28. Voltear, crecer y Traducir animación
- 29. voltear/duplicación de imágenes
- 30. crea un UIImage de dos UIImageView
que estas hablando - (BOOL) isFlipped; { return SÍ; } por casualidad? – Sneakyness