如何使用UIView创建自定义翻转动画

劳尔·斯特凡(Laur Stefan)

我正在尝试为UIView创建类似于默认翻转动画的自定义动画,但是没有实际的翻转,也没有我想在左侧而不是在中心的翻转轴。这是我要完成但未重复的示例:

在此处输入图片说明

同样在代码中,我将UILabel添加为子视图和其他一些元素。

如果您可以提供一个代码示例,将不胜感激,非常感谢您的支持!

更新:

使用@artal提供的示例并获得了UIImageView的所需效果,但是如何为UIButton获取相同的示例?

尝试了下一个代码:

objectivesButton = [[UIButton alloc] initWithFrame:CGRectMake( 0.25f * [UIScreen mainScreen].bounds.size.width, 0.7f * [UIScreen mainScreen].bounds.size.height, 0.5f * [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height * 0.3f)];
[objectivesButton addTarget:self
                action:@selector(startAnimationButton)
      forControlEvents:UIControlEventTouchUpInside];
objectivesButton.backgroundColor = [UIColor yellowColor];
objectivesButton.layer.anchorPoint = CGPointMake(0, 0.5);
[self.view addSubview:objectivesButton];

- (void)startAnimationButton{

CATransform3D perspectiveTrasnform = CATransform3DIdentity;
perspectiveTrasnform.m34 = -0.004;

CGFloat rotateAngleDeg = 90;
CATransform3D flipTransform = CATransform3DRotate(perspectiveTrasnform, rotateAngleDeg / 180.0 * M_PI, 0, 1.5, 0);
[UIView animateWithDuration:3.0f animations:^()
{
    objectivesButton.layer.transform = flipTransform;
}];

}
阿尔塔尔

您可以通过将透视图和旋转变换应用于其基础的CALayer(3D变换)来对视图进行动画处理。要从左侧开始,您可以设置anchorPoint图层的。这是一个例子:

UIImageView *imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"image.png"]];
imageView.center = CGPointMake(self.view.center.x - imageView.frame.size.width * 0.5, self.view.center.y + imageView.frame.size.height * 0.5);
imageView.layer.anchorPoint = CGPointMake(0, 1);
[self.view addSubview:imageView];

CATransform3D perspectiveTrasnform = CATransform3DIdentity;
perspectiveTrasnform.m34 = -0.004;

CGFloat rotateAngleDeg = 90;
CATransform3D flipTransform = CATransform3DRotate(perspectiveTrasnform, rotateAngleDeg / 180.0 * M_PI, 0, 1, 0);
[UIView animateWithDuration:5 animations:^()
{
    imageView.layer.transform = flipTransform;
}];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用动画创建自定义视图

来自分类Dev

iOS 7创建翻转动画,例如在本机相机应用中旋转动画

来自分类Dev

如何添加简单的卡片翻转动画?

来自分类Dev

我如何从Xib创建自定义uiview

来自分类Dev

如何正确创建自定义的动画可绘制对象?

来自分类Dev

使用自动版式时,如何将翻转动画从一个UIView转换为另一个UIView?

来自分类Dev

使用Javascript在CSS3中触发翻转动画

来自分类Dev

具有自定义视图的旋转动画

来自分类Dev

CardView翻转动画

来自分类Dev

Swift 2中的翻转动画如何工作

来自分类Dev

ngAnimate翻转动画

来自分类Dev

如何创建自定义的“水平翻转”推送模式,如用于模式搜索的模式?

来自分类Dev

CSS翻转动画?

来自分类Dev

如何使用Shell脚本创建旋转动画?

来自分类Dev

角度翻转动画

来自分类Dev

如何为自定义视图创建缩放动画效果

来自分类Dev

Windows 8.1的FlipBoard App中使用的页面翻转动画

来自分类Dev

如何添加简单的卡片翻转动画?

来自分类Dev

如何在Android中创建翻转动画?

来自分类Dev

ngAnimate翻转动画

来自分类Dev

使用自定义WebView和UISearchContoller创建自定义UIView

来自分类Dev

uiview上的按钮翻转动画超出框架

来自分类Dev

如何用动画创建自定义动作菜单

来自分类Dev

如何在Unity中进行对角翻转动画

来自分类Dev

如何使用Shell脚本创建旋转动画?

来自分类Dev

在 swift 静态错误中动画自定义 UIView

来自分类Dev

JTable:如何使用 TableCellRenderer 实现自定义翻转效果

来自分类Dev

如何使用 Swift 渐变填充自定义 UIView?

来自分类Dev

如何使用 XML 制作翻转动画