закругленные углы при расширении подвида за пределы супервизора

Я разрабатываю конкретную анимацию. Изображение безгранично масштабируется, сжимается до нужного размера, а затем падает. Вы можете увидеть, что у меня получилось, это видео: https://vid.me/i1bx.

Эффект, которого я хотел бы добиться, заключается в том, что первый imageView (серый) имеет закругленные углы. Установка для cornerRadius и clipsToBounds первого imageView значения true делает это, но отключает эффект масштабирования второго imageView(firstScaleImageView) за пределами границ первого 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()
        })
    }

person potato    schedule 18.07.2015    source источник


Ответы (1)


Попробуйте установить clipsToBounds на false (я не думаю, что вам это нужно для закругления углов).

person Islam Q.    schedule 18.07.2015
comment
это либо clipsToBounds, либо masksToBounds, которые должны быть истинными. Оба не решают проблему. Обратите внимание, что когда второй элемент imageView удаляется, clipsToBounds должен иметь значение true. Не знаю другого пути - person potato; 18.07.2015
comment
clipsToBounds будет обрезать все подпредставления... и, кстати, вы можете просто использовать 2 разных UIImageView, обернутых UIView, clipsToBounds которого будет NO, пока анимация выполняется, и YES, когда она закончится, а затем отбросить второй imageView вниз. - person Islam Q.; 18.07.2015