【问题标题】:Multiple Simultaneous Animations on Single UIView using Swift使用 Swift 在单个 UIView 上同时进行多个动画
【发布时间】:2015-01-31 07:58:14
【问题描述】:

我已经使用 UIView 动画创建了一个动画块 - 但是对于玩家键入的每个字母,动画都会在 UITextView 上触发(这是一个打字游戏)。输入新字母的那一刻,它会立即完成前一个角色的动画——不可能有重叠。如何在不中断每个动画的情况下允许多个动画开始和结束?

当前动画块:

UIView.transitionWithView(textViewForPlayer, duration: 0.1, options: .BeginFromCurrentState | .TransitionCrossDissolve | .AllowAnimatedContent, animations: {
    self.textForPlayer.addAttribute(
        NSForegroundColorAttributeName,
        value: UIColor.clearColor(),
        range: nsRangeOfTextShown)
    self.textViewForPlayer.attributedText = self.textForPlayer
    }, completion: { finished in
        UIView.transitionWithView(self.textViewForPlayer, duration: 2.1, options: .BeginFromCurrentState | .TransitionCrossDissolve | .AllowAnimatedContent, animations: {
            self.textForPlayer.addAttribute(
                NSForegroundColorAttributeName,
                value: UIColor.greenColor(),
                range: nsRangeOfTextShown)
            self.textViewForPlayer.attributedText = self.textForPlayer
            }, completion: { finished in
        })
        println("FINISHED2")
    }
)

【问题讨论】:

    标签: ios swift uiviewanimation


    【解决方案1】:

    如果我对您的理解正确,并且您希望每个字母都完成自己的动画,而不管用户是否输入了下一个字母,我建议您为每个动画字母制作单独的视图。然后,在字母的完成块中,删除动画视图并将字母静态添加到 UITextView。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多