最初我有這個代碼工作,當我只是動畫我有一個UIImageView。但後來我改變它動畫動畫創建的幾個UIImageViews,但是因爲它們是在for循環內動態創建的,所以我發現很難爲它們製作動畫,就像我最初做的那樣。Swift - Animate動態創建的UIImageView
override func viewDidLoad() {
super.viewDidLoad()
var sprite: UIImage = UIImage(named: "sprites/areaLocatorSprite.png")!
var locations:NSArray = animal[eventData]["locations"] as NSArray
for var i = 0; i < locations.count; i++ {
println(locations[i]["locationx"])
var locationx = locations[i]["locationx"] as String
var locationy = locations[i]["locationy"] as String
let x = NSNumberFormatter().numberFromString(locationx)
let y = NSNumberFormatter().numberFromString(locationy)
let cgfloatx = CGFloat(x!)
let cgfloaty = CGFloat(y!)
var mapSprite: UIImageView
mapSprite = UIImageView(image: sprite)
mapSprite.frame = CGRectMake(cgfloatx,cgfloaty,10,10)
townMap.addSubview(mapSprite)
timer = NSTimer.scheduledTimerWithTimeInterval(0.35, target: self, selector: Selector("flash"), userInfo: nil, repeats: true)
}
}
func flash() {
var mapSprite:UIImageView?
if mapSprite?.alpha == 1 {
mapSprite?.alpha = 0
} else {
mapSprite?.alpha = 1
}
}
這不起作用,因爲flash函數中的mapSprite與for循環中的mapSprite不同。我怎樣才能引用for循環中的動畫然後對其進行動畫處理?還是會有更好的選擇,我目前正在做什麼?
非常感謝!
編輯 使用的Xcode 6.2
時間枚舉屬性您打算動畫褪色或你想讓它突然閃爍開/關? –
@ Paul.s只是想突然閃爍開/關 – Javz