圆角,同时将子视图扩展到超视图的边界之外

时间:2015-07-18 09:54:20

标签: ios animation core-animation uiviewanimation cornerradius

我正在设计一个特定的动画。图像超出界限,缩小到适当的大小而不是下降。你可以看到我到目前为止的视频: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()
        })
    }

1 个答案:

答案 0 :(得分:1)

尝试将clipsToBounds设置为false(我认为您不需要角半径)。