我有一个UIImageView。我也有一个观点。我希望视图出现在UIImageView的顶部,因为它在屏幕上动画。我不希望视图出现在后台。
我该怎么做?
我尝试通过添加另一个子视图来更改子视图的顺序,但这是不可能的。
我正在考虑使用图层而不是视图来制作动画,但UIImageView周围有透明部分。
代码:(注意:isAnimating是一个类属性,不用担心)
@IBAction func AnimateBtnTapped(sender: AnyObject) {
if (isAnimating == false) {
isAnimating = true
UIView.animateWithDuration(0.6, delay: 0.0, options: .Repeat, animations: {
self.glintImageConstraint.constant += 450
self.view.layoutIfNeeded()
}, completion: nil)
} else {
isAnimating = false
self.glintImageView.layer.removeAllAnimations() //stop animation
self.glintImageConstraint.constant = -200 //set glintImage to original position
self.view.layoutIfNeeded()
}
}
我的UIImageView是一个奖章。 glintImageView是它上面的对象动画。
编辑:我要求等效于Shimmer(https://github.com/facebook/Shimmer)但是对于UIImageView。
答案 0 :(得分:0)
我认为你必须使用Core Animation。如果您使用CALayer
作为图像视图并为其添加了遮罩层,则为要显示在图像顶部的视图使用子图层,它可能会起作用。