0
PopUpMask
是圓形UIView
。我用它來掩蓋菜單。當用戶點擊一個按鈕時,菜單「pop」又成爲一個更大的圓圈。當用戶關閉它時,菜單縮小到一個更小的圓圈。當我縮放它時,動畫會起作用,但是當我想縮小它時,它會在動畫過程中轉換爲正方形。它如何能夠縮小爲一個圓圈?CGAffineTransformMakeScale圓形UIView動畫爲正方形
這裏的UIView
縮放:
class PopUpMask: UIView {
override init(frame: CGRect) {
super.init(frame: CGRectMake(0, 0, 40, 40))
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func drawRect(rect: CGRect) {
self.layer.cornerRadius = 20
}
}
這些都是調用的方法:
func unmaskToolbarBackground() {
UIView.animateWithDuration(0.3, delay: 0.3, options: .CurveEaseOut, animations: {
self.popUpMask.transform = CGAffineTransformMakeScale(12, 12)
self.toolbarView.maskView? = self.popUpMask
}, completion: nil)
}
func maskToolbarBackground() {
UIView.animateWithDuration(0.4, delay: 0, options: .CurveEaseOut, animations: {
self.popUpMask.transform = CGAffineTransformMakeScale(0.02, 0.02)
self.toolbarView.maskView? = self.popUpMask
}, completion: nil)
}