【问题标题】:How to implement image animation via an invisible UIslider?如何通过不可见的 UIslider 实现图像动画?
【发布时间】:2011-04-20 12:11:17
【问题描述】:

我有一个问题是使用 UISlider 来控制图像动画

而且这张图片上有隐藏的滑块可以覆盖它......

看起来像这样

我的问题是......如何调整图像角度,当我改变我的幻灯片值???

所以我可以让图像动画从左图到右图???

谢谢

韦伯

上传示例代码Here

希望有人能帮我解决这个问题

【问题讨论】:

    标签: iphone objective-c ios animation uislider


    【解决方案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);
        }
    }
    

    这很好用~

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-06
      • 2021-05-01
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2021-03-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多