Ale*_*one 8 iphone core-graphics objective-c uiview ios
我知道如何通过在UIImage的范围内重新绘制它来翻转/反射/旋转它.
- (IBAction)reflectImageView:(UIImageView)imageView {
UIGraphicsBeginImageContextWithOptions(imageView.bounds.size, NO, 0.0);
CGContextRef context = UIGraphicsGetCurrentContext();
CGContextScaleCTM(context, 1.0, -1.0);
CGContextTranslateCTM(context, 0.0, -imageView.bounds.size.height);
[imageView.layer renderInContext:context];
imageView.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
}
Run Code Online (Sandbox Code Playgroud)
但是我如何为任何UIView创建一个"翻转/反射"效果,最好保持它的中心位置和以前一样?
谢谢!
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:0.75];
[UIView setAnimationDelegate:self];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:self.activeView cache:YES];
// [self.activeView removeFromSuperview];
[UIView commitAnimations];
NSNumber* isReflected = [self.activeView.attributedView.attributes valueForKey:kIsReflected];
if(isReflected.boolValue)
{
self.activeView.transform = CGAffineTransformMakeScale(1,1);
[self.activeView.attributedView.attributes setValue: [NSNumber numberWithBool:NO] forKey:kIsReflected];
}else {
//do reflection
self.activeView.transform = CGAffineTransformMakeScale(-1,1);
[self.activeView.attributedView.attributes setValue: [NSNumber numberWithBool:YES] forKey:kIsReflected];
}
Run Code Online (Sandbox Code Playgroud)
上面的代码用于 UIView 动画。您将在其中获得各种类型动画的选项。
| 归档时间: |
|
| 查看次数: |
4405 次 |
| 最近记录: |