为什么重复UIView动画在边缘滑动时会冻结?

约翰·吉布

我试图创建一个从右向左连续滚动图像的视图,从而有效地创建了无限滚动的背景。我使用彼此相邻的两个图像视图并使用UIView设置为动画来.Repeat转换具有负水平偏移的帧。(下面的代码)

效果很好!在尝试在导航控制器中进行边缘轻扫之前,动画将冻结:

动画在边缘滑动时冻结

我的代码如下所示:

class ScrollingImageView: UIView {
    required init?(coder aDecoder: NSCoder) { fatalError() }

    let imageView = UIImageView()
    let imageView2 = UIImageView()

    override init(frame: CGRect) {
        super.init(frame: frame)


        imageView.image = UIImage(named: "mario")
        imageView2.image = UIImage(named: "mario")

        imageView.frame = bounds
        imageView2.frame = CGRectOffset(bounds, bounds.width, 0)

        addSubview(imageView)
        addSubview(imageView2)
    }

    func play() {
        UIView.animateWithDuration(5, delay: 0, options: [.Repeat, .CurveLinear], animations: {
            self.imageView.frame = CGRectOffset(self.imageView.frame, -self.bounds.width, 0)
            self.imageView2.frame = CGRectOffset(self.imageView2.frame, -self.bounds.width, 0)
        }, completion: nil)
    }
}

为什么当交互开始时动画会停止?我想它有什么做的交互手势在设定的速度CALayer到零。有没有办法让这个动画继续播放?

马特

正确地说,您使用的是交互式手势。它是如何工作的?它冻结动画(图层speed为零)并更改其“帧”(图层timeOffset)以匹配手势的当前位置。

要解决此问题,您也许可以将动画放到另一个图层中,尽管我对此不确定。我敢肯定,这样努力将自己实现整个自定义转换交互-使用UIPercentDrivenInteractiveTransition(其中冻结动画),但定位自己的观点作为过渡收益。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

动画冻结并滑动

来自分类Dev

为什么我的动画在iPad上很慢

来自分类Dev

为什么CSS动画在移动设备上更快?

来自分类Dev

UIView动画冻结

来自分类Dev

动画在结束时会变慢

来自分类Dev

为什么Firebug在运行GWT项目时会冻结Firefox?

来自分类Dev

UIView动画在iOS 8中损坏

来自分类Dev

UIView滑动动画毛刺

来自分类Dev

为什么 UIView 的边缘对于巨大的圆角半径不平滑?

来自分类Dev

为什么我的动画不重复?

来自分类Dev

无法让引导动画在滑动窗口中处理 div

来自分类Dev

CSS动画在不可见时会影响性能吗

来自分类Dev

为什么ListView展开/折叠动画在DialogFragment中比在Activity中显得慢得多

来自分类Dev

为什么CALayer动画在加载视图之后而不是在初始化后才能工作?

来自分类Dev

为什么SwiftUI动画在iOS和macOS上的行为和对齐方式不同?

来自分类Dev

为什么我的侧边栏CSS关闭动画在屏幕加载时被激活?

来自分类Dev

为什么SwiftUI动画在iOS和macOS上的行为和对齐方式不同?

来自分类Dev

为什么我的CSS动画在侧边栏上不起作用?

来自分类Dev

为什么进度条动画在完成后会改变状态?

来自分类Dev

为什么动画在我的 JavaScript 代码中不起作用?

来自分类Dev

为什么我的代码在计算时会重复出现?

来自分类Dev

为什么在进行转换时会自动省略重复值?

来自分类Dev

为什么在将UIButton的圆角修圆时会出现粗糙的黑色边缘?

来自分类Dev

UIView动画在iOS 7中不起作用

来自分类Dev

[UIView animateWithDuration动画在更改标签文本后重置

来自分类Dev

UIView 动画在 iOS 8 中无法正常工作?

来自分类Dev

为什么我的UIView会动画到错误的位置?

来自分类Dev

为什么我的win10计算机空闲时会冻结?

来自分类Dev

UIView动画选项重复计数

Related 相关文章

  1. 1

    动画冻结并滑动

  2. 2

    为什么我的动画在iPad上很慢

  3. 3

    为什么CSS动画在移动设备上更快?

  4. 4

    UIView动画冻结

  5. 5

    动画在结束时会变慢

  6. 6

    为什么Firebug在运行GWT项目时会冻结Firefox?

  7. 7

    UIView动画在iOS 8中损坏

  8. 8

    UIView滑动动画毛刺

  9. 9

    为什么 UIView 的边缘对于巨大的圆角半径不平滑?

  10. 10

    为什么我的动画不重复?

  11. 11

    无法让引导动画在滑动窗口中处理 div

  12. 12

    CSS动画在不可见时会影响性能吗

  13. 13

    为什么ListView展开/折叠动画在DialogFragment中比在Activity中显得慢得多

  14. 14

    为什么CALayer动画在加载视图之后而不是在初始化后才能工作?

  15. 15

    为什么SwiftUI动画在iOS和macOS上的行为和对齐方式不同?

  16. 16

    为什么我的侧边栏CSS关闭动画在屏幕加载时被激活?

  17. 17

    为什么SwiftUI动画在iOS和macOS上的行为和对齐方式不同?

  18. 18

    为什么我的CSS动画在侧边栏上不起作用?

  19. 19

    为什么进度条动画在完成后会改变状态?

  20. 20

    为什么动画在我的 JavaScript 代码中不起作用?

  21. 21

    为什么我的代码在计算时会重复出现?

  22. 22

    为什么在进行转换时会自动省略重复值?

  23. 23

    为什么在将UIButton的圆角修圆时会出现粗糙的黑色边缘?

  24. 24

    UIView动画在iOS 7中不起作用

  25. 25

    [UIView animateWithDuration动画在更改标签文本后重置

  26. 26

    UIView 动画在 iOS 8 中无法正常工作?

  27. 27

    为什么我的UIView会动画到错误的位置?

  28. 28

    为什么我的win10计算机空闲时会冻结?

  29. 29

    UIView动画选项重复计数

热门标签

归档