ios - 如何向 ruby​​motion 应用程序添加动画?

标签 ios core-animation rubymotion

我目前正在为按钮和 View 添加动画

            @button = UIButton.buttonWithType(UIButtonTypeRoundedRect)
            @button.frame = [[0,0],[50,50]]
            @button.setTitle("Click to move",forState:UIControlStateNormal)
            @button.addTarget(self, action:'animate_button',forControlEvents:UIControlEventTouchUpInside)
            view.addSubview @button 

      def animate_button
            @button.frame = [[0,0],[0,0]]
            UIView.beginAnimations(nil,context:nil)
            UIView.setAnimationDuration(0.05)
            UIView.setAnimationDelay(0.2)
            UIView.setAnimationCurve(UIViewAnimationCurveEaseOut)
            @button.frame = [[280,400],[50,50]]
            UIView.commitAnimations
     end

谁能帮忙使用高级动画

最佳答案

你看过方糖吗?它非常受欢迎——与 BubbleWrap 一起,它是 ruby​​motion 最常用的 gem 之一。它有越来越多的动画相关方法集合,并使用新的 block 语法(就像 Paul.s 提到的那样)

最通用的是 UIView.animation { animations_go_here }

UIView.animation {
  my_view.frame = new_frame
  # or apply a transform to a layer
  my_view.layer.transform = CATransform3DMakeScale(2, 2, 1)
}

参见 Core Animation Function Reference以获得更多转换功能。

但是如果你想做一个“普通”的动画,你可以通过添加一些 UIView 来做很多事情:

my_view.slide :left, 100
my_view.move_to CGPoint.new(10, 20)  # or [10, 20] works, too
my_view.fade_out

这些都采用类似的选项:

my_view.fade_out(duration: 1)  # 1 second fade out
my_view.fade_out(delay: 1)  # 1 second later, fade out

而且您可以轻松地将它们链接起来:

my_view.slide :left, 120 {
  my_view.fade_out {
    my_view.removeFromSuperview
  }
}

它们可以分组:

UIView.animate {
  my_view.slide :left, 120
  my_view.fade_out
}

关于ios - 如何向 ruby​​motion 应用程序添加动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14626950/

相关文章:

ios - 如何获取 PFQuery.queryWithClassName 返回的唯一行?

iphone - iOS5 中的自定义 UIalertView

ios - Swift 2.2 内存管理

ios - Momentum 滚动错误 iOS

swift - CAShapeLayer.isHidden 自动快速应用动画

iphone - 我如何使用 Core Animation 在我自己的类上随时间插入属性值?

java - 在 Java 端从 firebase 应用程序注销

Objective-C 核心动画或 OpenGL 以角度绘制阴影

iphone - 按钮在 6.1 和 7.0 中的行为不同

objective-c - 如何在 RubyMotion 中实现 OSX 上的图像按钮?