我有一些动画文本(它会卷起并更改为下一个数字,背后有一个背景图片。是否可以只在UIImageView的边界内显示文本及其后续动画。我知道我可以只需占用一大块背景并将其叠加在UIImage和文本的顶部,但它并不是很理想。
如果它在这里有用或相关,那么创建动画的代码
import Foundation
import UIKit
extension UIView {
func pushTransition(duration:CFTimeInterval) {
let animation:CATransition = CATransition()
animation.timingFunction = CAMediaTimingFunction(name:
kCAMediaTimingFunctionEaseInEaseOut)
animation.type = kCATransitionPush
animation.subtype = kCATransitionFromTop
animation.duration = duration
self.layer.add(animation, forKey: kCATransitionPush)
}
}
编辑:更进一步澄清,正在更新的标签存储在一个数组中,代码循环显示它们并在需要时更新它们。更新代码的代码在
之下 for i in 1...updateArrayLength{
if updateArray[i-1] == "1"{
let newNumber = charactersAsStrings[i-1]
let label = labelArray[i-1]
//if let aLabel = label{
label.isHidden = false
label.pushTransition(duration: 0.2)
label.text = "\(newNumber)"
//label.sizeToFit()
//}
答案 0 :(得分:1)
也许需要更多的代码才能完全回答这个问题,但我相信如果我能正确理解你的问题,设置view.clipsToBounds = true
就可以解决这个问题。