如何简单地为 UIimageView 设置动画?
Posted
技术标签:
【中文标题】如何简单地为 UIimageView 设置动画?【英文标题】:How to simply animate an UIimageView? 【发布时间】:2015-04-30 14:02:12 【问题描述】:我想将一个 40、40 像素的正方形从顶部移动到底部,然后在 3 秒内重复该动作。我会将整个东西放在视图控制器中的什么位置?没有开始按钮,所以我要在 viewdidload 中输入吗?
到目前为止我有这个
UIView.animateWithDuration(0.2, animations:
, completion:
)
作为开始的地方。我会将图像设置为等于 UIView 吗?它应该是什么样子?该图像称为 mrock。 我尝试在动画部分使用 blank.moveToPoint(CGPoint(x: 0,y: 0)) ,但我不需要 UIBezierPath 吗?
【问题讨论】:
请在您的帖子中包含what you have tried。 【参考方案1】:正如@picciano 所说,如果您使用情节提要,您应该有一个IBOutlet
到一个UIImageView
。所以你在你的视图控制器中你可以尝试这样的事情:
@IBOutlet weak var imageView: UIImageView!
override func viewDidLoad()
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
//'img' is a picture imported in your project
self.imageView.image = UIImage(named: "img")
override func viewDidAppear(animated: Bool)
super.viewDidAppear(animated)
let newPos: CGFloat = 300.0
UIView.animateWithDuration(1.0, animations: () -> Void in
self.imageView.frame = CGRectMake(0, newPos, CGFloat(self.imageView.bounds.size.width), CGFloat(self.imageView.bounds.size.height))
)
【讨论】:
【参考方案2】:首先,考虑将动画放在viewWillAppear
中,然后在需要时将其禁用在viewDidDisappear
中。
其次,如果您使用自动布局,您可能需要为相关约束创建一个IBOutlet
,并为约束的constant
属性设置动画,而不是直接为视图对象的位置设置动画。
【讨论】:
以上是关于如何简单地为 UIimageView 设置动画?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Unity3d 中最好地为 2D 精灵设置动画? [关闭]