草庐IT

catransform3drotate

全部标签

ios - 如何保存应用于 UIView 的 CATransform3D

我有一个应用了CATransform3D的View(Uiview),当我再次打开应用程序时,我想创建一个相同的View所以我这样做:保存转换以便稍后在打开的应用程序中使用它letradian_vertical=element.layer.value(forKeyPath:"transform.rotation.y")as?NSNumber??0letdegree_vertical=(radian_vertical.floatValue)*180/(Float)(Double.pi)letradian_horizontal=element.layer.value(forKeyPath:"

objective-c - 如何使用 CATransform3D 为一组 CALayer 添加阴影

如何给一组CALayer添加阴影?我有一个“FoldingView”类,它维护几个“SliceView”类。每个sliceview的层都将被赋予一个CATransform3D,我在其中使用透视属性(.m34=1.0/-1000)。如何添加具有良好视觉逻辑的阴影?到目前为止,这是我一直在想的:我可以获得每个切片的路径并将它们组合起来以获得阴影路径。我不知道当图层使用CATransform3D时如何获取CALayer的路径它可能在视觉上有效,但如果光线应该来自左上角,我担心它不会完全正确。我可以将标准CALayer阴影应用于所有层看起来不太好,因为阴影相互重叠如果有人有任何其他建议或知道如

ios - 呈现模态视图 Controller 时,核心动画层表现得很奇怪。 CATransform3D 问题

我正在尝试创建自定义UIView转换。基本上,当呈现某个模态视图时,它所覆盖的View就会移到背景中。为了实现这一点,我使用核心动画来操纵View层上的CATransform3D,我正在移动到背景,然后在其上呈现模态视图。为了将View移到背景中,我正在创建一个CABasicAnimation来为CATransform3D中的变化设置动画,如下所示CABasicAnimation*animation=[CABasicAnimationanimationWithKeyPath:@"transform"];CATransform3DtoTransform=CATransform3DIden

ios - CATransform3D 让我的 UITextView 消失?

所以我有一个UITextView,它应该在视觉上位于屏幕的底部边缘,然后向上和向后拉伸(stretch)“进入”屏幕,“星球大战”以爬行方式打开。经过多次谷歌搜索等,我觉得我的代码看起来像是适合这项工作的代码……但是这并没有设置我正在寻找的透视图,而是让UITextView完全消失了!TextView设置在带有Spring/支柱(无自动布局)的Storyboard中,固定在主视图的顶部和底部,每侧约20像素,并且Spring在两个方向上都处于事件状态。它的导出连接到self.infoTextView。如果我不对其应用任何转换,它就会如我所料地显示出来。但是当我在viewDidLoad中

ios - 缩放 UIView 不是从中心,而是从右下角使用 CATransform3DScale

我想根据滚动缩放(缩小)个人资料图片。但是,最主要的是,我不想从中心点而是从右下角缩放它。意思是,右下角应该固定,图像应该从左边缘和上边缘收缩,如图所示:—————————————————|||———————————-||||||||—————|||||||||—————————————————这是我正在做的。个人资料图片名为imgVwProfilePic:-(void)scrollViewDidScroll:(UIScrollView*)scrollView{CGFloatoffset=scrollView.contentOffset.y;CATransform3DavatarTra

ios - 如何避免在 iOS 中对 CATransform3D 旋转进行倾斜/翻转?

我在View中使用了下面的3dRotation函数。但我不想在View上倾斜/翻转,我只想在View上左/右/上/下移动。我如何避免在View中倾斜和翻转旋转?-(void)Move3dPan:(UIPanGestureRecognizer*)gesture{if(gesture.state==UIGestureRecognizerStateChanged){CGPointdisplacement=[gesturetranslationInView:self.view];CATransform3DcurrentTransform=self.popUpView.layer.sublaye

iOS UIView 动画 CATransform3DMakeRotation 困惑

我有一个UIView,我试图为向下翻转设置动画,同时它的轴位于View的底部。例如:为此,我尝试使用UIView动画:[UIViewanimateWithDuration:3delay:0options:UIViewAnimationCurveEaseOutanimations:^{//FlipDowntop3.layer.anchorPoint=CGPointMake(0.5,1.0);top3.layer.transform=CATransform3DMakeRotation(M_PI,1,0,0);}completion:^(BOOLfinished){//Reset?//top

ios - CATransform3D 无透视

我以前做过这个,但不知何故我没有让它工作。我用谷歌搜索了一下,但没有找到解决问题的答案。我只是想向我的self.view添加一个小View,并希望在其y轴上旋转这个添加的subview。代码如下:UIView*rotatingView=[[UIViewalloc]initWithFrame:(CGRect){{40.0f,50.0f},50.0f,50.0f}];rotatingView.backgroundColor=[UIColorlightGrayColor];CATransform3Dtransform=CATransform3DIdentity;transform.m34=1

ios - 在上下文中绘制时在 UIImage 上应用 CATransform3D

我有几个UIImageView并在其图层属性上应用了CATransform3D,现在我想获得一个图像(通过转换将所有图像合并为一个图像)。为此,我使用CoreGraphics框架在上下文中绘制图像,然后得到结果图像。需要实现这个:使用CATransform3D在上下文中绘制每个图像,然后从图像上下文中获取图像。我已经试过了,但没有成功。CGContextRefcontext=UIGraphicsGetCurrentContext();CGContextConcatCTM(context,CATransform3DGetAffineTransform(imageView.layer.tr

ios - 如何在 CATransform3D 中正确设置透视

我开始玩CATransform3D并且我得到了大部分内容。但是我不明白的一件事是透视。我知道它是m34并且我知道它如何改变结果,但我不太明白如何为我的案例获得理想值。是试错法还是有解析法计算?有这个项目,3DTransformFun,我想提一下,这对我构建转换有很大帮助。 最佳答案 很高兴您发现3DTransformFun对您有所帮助!那里有一个默认的-1/500透视图,IIRC,但显然您可以通过提供手动转换来解决这个问题。该值对透视的影响与“相机”与图层的距离(或更常见的是-1/距离)有关,如thisanswer中所述。.如果你将