如何通过不可见的 UIslider 实现图像动画?
Posted
技术标签:
【中文标题】如何通过不可见的 UIslider 实现图像动画?【英文标题】:How to implement image animation via an invisible UIslider? 【发布时间】:2011-04-20 12:11:17 【问题描述】:我有一个问题是使用 UISlider 来控制图像动画
而且这张图片上有隐藏的滑块可以覆盖它......
看起来像这样
我的问题是......如何调整图像角度,当我改变我的幻灯片值???
所以我可以让图像动画从左图到右图???
谢谢
韦伯
上传示例代码Here
希望有人能帮我解决这个问题
【问题讨论】:
【参考方案1】:您要旋转图像吗?然后使用:
imageView.transform = GAffineTransformRotate(imageView.transform,RADIANS(degreesToRotate));
【讨论】:
这非常接近我想要的答案,但是如何设置滑块的最小值/最大值,并设置“degreesToRotate”?这是我的 IBAction:int progressAsInt =(int)(invisibleSlider.value + 0.5f); if (progressAsInt==0) [dimmerImg setImage:[UIImage imageNamed:@"slider0.png"]]; else [dimmerImg setImage:[UIImage imageNamed:@"slider99.png"]]; dimmerImg.transform = CGAffineTransformRotate(dimmerImg.transform, progressAsInt); UISlider 值是一个介于 0 和 1 之间的浮点数。所以要获得度数,只需将 360 乘以滑块值。【参考方案2】:- (IBAction)changeSliderValue:(id)sender
int progressAsInt =(int)(invisibleSlider.value);
if (progressAsInt==0)
[dimmerImg setImage:[UIImage imageNamed:@"slider0.png"]];
else
[dimmerImg setImage:[UIImage imageNamed:@"slider99.png"]];
CGAffineTransform transform = CGAffineTransformIdentity;
dimmerImg.transform = CGAffineTransformRotate(transform, progressAsInt * M_PI / 180);
//dimmerImg.transform = CGAffineTransformRotate(dimmerImg.transform, progressAsInt);
这很好用~
【讨论】:
以上是关于如何通过不可见的 UIslider 实现图像动画?的主要内容,如果未能解决你的问题,请参考以下文章
使用 MMSegmentSlider 的 UISlider 动画