圆角,同时将子视图扩展到父视图的边界之外
rounded corners while extending subview beyond superview's bounds
我正在设计特定的动画。图像超出范围缩放,缩小到适当的大小然后下降。你可以看到我到目前为止得到的是这个视频:https://vid.me/i1bx。
我想要实现的效果是第一个imageView(灰色的)有圆角。将第一个 imageView 的 cornerRadius 和 clipsToBounds 设置为 true 可以做到这一点,但会禁用第二个 imageView(firstScaleImageView) 超出第一个 imageView 边界的缩放效果。
是否可以有圆角并且能够将 imageView 扩展到父视图的边界之外?
这是我的代码:
@IBAction func goButtonpressed(sender: UIButton) {
firstScaleImageView = UIImageView(frame: bounceFrame)
firstScaleImageView.image = UIImage(named: "1")
firstScaleImageView.transform = CGAffineTransformScale(firstScaleImageView.transform, 0, 0)
firstImageView.addSubview(firstScaleImageView)
UIView.animateWithDuration(0.4, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 10, options: UIViewAnimationOptions.CurveLinear, animations: {
self.firstScaleImageView.transform = CGAffineTransformIdentity
}, completion: {_ in
self.firstImageView.clipsToBounds = true
})
}
@IBAction func backButtonPressed(sender: UIButton) {
UIView.animateWithDuration(0.3, animations: {
self.firstScaleImageView.transform = CGAffineTransformTranslate(self.firstScaleImageView.transform, 0, self.firstImageView.frame.height)
}, completion: {_ in
self.firstImageView.clipsToBounds = false
self.firstScaleImageView.removeFromSuperview()
})
}
尝试将 clipsToBounds
设置为 false
(我认为 角半径 不需要它)。
我正在设计特定的动画。图像超出范围缩放,缩小到适当的大小然后下降。你可以看到我到目前为止得到的是这个视频:https://vid.me/i1bx。
我想要实现的效果是第一个imageView(灰色的)有圆角。将第一个 imageView 的 cornerRadius 和 clipsToBounds 设置为 true 可以做到这一点,但会禁用第二个 imageView(firstScaleImageView) 超出第一个 imageView 边界的缩放效果。
是否可以有圆角并且能够将 imageView 扩展到父视图的边界之外?
这是我的代码:
@IBAction func goButtonpressed(sender: UIButton) {
firstScaleImageView = UIImageView(frame: bounceFrame)
firstScaleImageView.image = UIImage(named: "1")
firstScaleImageView.transform = CGAffineTransformScale(firstScaleImageView.transform, 0, 0)
firstImageView.addSubview(firstScaleImageView)
UIView.animateWithDuration(0.4, delay: 0, usingSpringWithDamping: 0.7, initialSpringVelocity: 10, options: UIViewAnimationOptions.CurveLinear, animations: {
self.firstScaleImageView.transform = CGAffineTransformIdentity
}, completion: {_ in
self.firstImageView.clipsToBounds = true
})
}
@IBAction func backButtonPressed(sender: UIButton) {
UIView.animateWithDuration(0.3, animations: {
self.firstScaleImageView.transform = CGAffineTransformTranslate(self.firstScaleImageView.transform, 0, self.firstImageView.frame.height)
}, completion: {_ in
self.firstImageView.clipsToBounds = false
self.firstScaleImageView.removeFromSuperview()
})
}
尝试将 clipsToBounds
设置为 false
(我认为 角半径 不需要它)。