[英]Swift animateWithDuration()
我想在動畫中更改imageView的y並更改標簽的文本。 但是當我這樣做的時候。 ImageView上升100,然后將動畫從-100變為0。但是我希望它下降100。
如果我不更改標簽的文本,則動畫效果很好。
label.text = "test"
UIView.animateWithDuration(0.5, animations: {
self.imageView.frame.origin.y += 100
})
另外,如果我這樣做,它只會更改文本,而不會移動imageView。
label.text = "test"
imageView.frame.origin.y += 100
您正在使用自動版式。 使用自動布局時,不能直接更改frame
。
您必須設置約束,然后為約束中的變化設置動畫,以為視圖創建動畫。
另外,您不能執行blah.frame.origin.y += 100
IIRC CGrect上的原點是只讀的。
你可以做...
Blah.frame = CGRectOffset(blah.frame, 0, 100)
但是同樣,這不適用於自動布局。
編輯
原點可快速設置。 謝謝jrturton :-)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.