0
我用Autolay在屏幕中央放置了一個UIView。這個UIView是一個正方形,大小爲屏幕寬度的15%。然後我控制器上我添加cornerRadius:圓形UIView比例尺動畫有時會回到正方形
override func viewDidLayoutSubviews() {
circle.layer.cornerRadius = circle.frame.size.width/2.0
}
然後當上的按鈕用戶點擊,圓形的觀點是縮小與第一動畫。
UIView.animateWithDuration(0.4, delay: 0.1, options: .CurveEaseIn, animations: {() -> Void in
self.circle.alpha = 0.0
self.circle.transform = CGAffineTransformMakeScale(0.01, 0.01)
}) { (finished) -> Void in
scaleUp()
}
private func scaleUp() {
UIView.animateWithDuration(0.5, delay: 0.0, options: .CurveEaseInOut, animations: {() -> Void in
self.circle.alpha = 1.0
self.circle.transform = CGAffineTransformIdentity
}) { (finished) -> Void in
}
}
有時縮小比例動畫不能正常工作。在開始cornerRadius之前,我的UIView變成了一個正方形。但是有時候我的動畫效果不錯,圓形縮小動畫可以。
此外,放大動畫似乎一直運作良好。
我不明白爲什麼縮小比例動畫不能始終工作。
有什麼想法?
感謝
我仍然有與調用layoutIfNeeded() – guillaume
相同的行爲嗯。如果你調用'self.view.layoutIfNeeded()'而不是?我無法重現您的問題。我有一個居中視圖,即屏幕寬度的15%。高度等於寬度。還有什麼我可以做到這一點? – vacawama
它似乎解決了問題的一部分,因爲現在我有時在scaleUp動畫中有一個方形視圖。我會嘗試一個新項目,看看我是否可以重現該錯誤。 – guillaume