Iphone 无限旋转图像背景UIImageView
我想从Iphone 无限旋转图像背景UIImageView,iphone,objective-c,ios,uiimageview,Iphone,Objective C,Ios,Uiimageview,我想从UIImageView扩展一个类,它将无限旋转宇宙图像。因此,我可以简单地将此图像视图作为其他UI元素的背景视图 这里有3个问题: 从UIImageview类扩展是否正确 如何保持无限旋转,作为背景,当将其放入其他视图时,我不需要编写额外的代码行 我写了一个粗略的原型,当我把它放到其他视图中作为背景时,这个视图中的所有UI元素都随着图像旋转 扩展UIImageview类并没有错 创建旋转动画并启用“重复” 不要在旋转图像上添加元素。(在基本视图中添加元素。在索引0处插入旋转图像视图) 扩展
UIImageView
扩展一个类,它将无限旋转宇宙图像。因此,我可以简单地将此图像视图作为其他UI元素的背景视图
这里有3个问题:
UIImageview
类扩展是否正确假设您有一个UIImageView,并在其上指定一个名为myImgView的图像。在viewDidLoad上,按如下方式添加代码:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationRepeatCount:MAXFLOAT];
myImgView.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
它对我来说就像一个符咒。假设您有一个UIImageView,并在其上指定一个名为myImgView的图像。在viewDidLoad上,按如下方式添加代码:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationBeginsFromCurrentState:YES];
[UIView setAnimationCurve:UIViewAnimationCurveEaseIn];
[UIView setAnimationRepeatCount:MAXFLOAT];
myImgView.transform = CGAffineTransformMakeRotation(M_PI);
[UIView commitAnimations];
它对我来说就像一个符咒。来自:
UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类
目前,UIImageView
子类确实可以工作,特别是如果它们不影响图形代码的话。如果未来的iOS更新破坏了你的子类,不要向苹果抱怨。编写自己的UIView子类来显示图像非常简单。如果你已经有了一个合适的图形,请考虑把它放在<代码> Calaye<代码> >代码>内容>代码>中,而不是实现uiVIEW.Cord>DraccRe>/Cult>方法.< /P>
通过更改
ui视图变换
(类型为cGraffinetTransform
)进行的旋转始终采用最短路径。这意味着将270度的顺时针旋转设置为90度的逆时针旋转,任何360度的倍数都不会起任何作用。如果获得视图的图层并设置CALayer transform
(类型为CATTransformM3D
)的动画,则可以获得360度旋转。看
要使动画无休止地重复,建议从以下位置将repeatCount
设置为ground_VALF
:
UIImageView类经过优化,可以将其图像绘制到显示器上。UIImageView不会调用drawRect:子类。如果子类需要自定义图形代码,建议使用UIView作为基类
目前,UIImageView
子类确实可以工作,特别是如果它们不影响图形代码的话。如果未来的iOS更新破坏了你的子类,不要向苹果抱怨。编写自己的UIView子类来显示图像非常简单。如果你已经有了一个合适的图形,请考虑把它放在<代码> Calaye<代码> >代码>内容>代码>中,而不是实现uiVIEW.Cord>DraccRe>/Cult>方法.< /P>
通过更改
ui视图变换
(类型为cGraffinetTransform
)进行的旋转始终采用最短路径。这意味着将270度的顺时针旋转设置为90度的逆时针旋转,任何360度的倍数都不会起任何作用。如果获得视图的图层并设置CALayer transform
(类型为CATTransformM3D
)的动画,则可以获得360度旋转。看
要使动画无休止地重复,建议将
repeatCount
设置为mage_VALF
谢谢您的解释。我从hieund复制了代码(见上面的注释)。利用iOS提供的API始终是正确的方法。再次感谢。谢谢你的解释。我从hieund复制了代码(见上面的注释)。利用iOS提供的API始终是正确的方法。再次感谢。