Vista de pila ScaleAspectFit Máscara Cambiar tamaño en Swift

Estoy enmascarando una imagen dentro de una vista de pila y, por alguna extraña razón, mi máscara no se alinea / cambia de tamaño correctamente con la imagen.

Aquí hay una demostración de lo que está ocurriendo, ya que estoy agregando dinámicamente instancias de esta imagen en una vista de pila mientras cada subvista se redimensiona dentro de sus límites y espacios.

Como puede ver, la máscara conserva el tamaño original de la imagen y no la versión redimensionada. He probado muchas variaciones diferentes de ancho y alto, incluido ellimits.width, layer.frame.width, frame.width, frame.origin.x, etc., y no tuve suerte.

Código actual en Swift 2:

let testPicture:UIImageView = UIImageView(image: UIImage(named: "myPicture"))
testPicture.contentMode = .ScaleAspectFit
testPicture.layer.borderWidth = 1
testPicture.clipsToBounds = true
testPicture.layer.masksToBounds = true
view.layer.addSublayer(shapeLayer)

var width = testPicture.layer.frame.width
var height = testPicture.layer.frame.height
let center = CGPointMake(width/2, height/2)
let radius = CGFloat(CGFloat(width) / 2)


// Mask
let yourCarefullyDrawnPath = UIBezierPath()
        yourCarefullyDrawnPath.moveToPoint(center)
        yourCarefullyDrawnPath.addArcWithCenter(center,
            radius: radius,
            startAngle: 0,
            endAngle: CGFloat( (0.80*360.0) * M_PI / 180.0),
            clockwise: true)
yourCarefullyDrawnPath.closePath()

let maskPie = CAShapeLayer()
maskPie.frame = testPicture.layer.bounds
testPicture.clipsToBounds = true
testPicture.layer.masksToBounds = true
maskPie.path = yourCarefullyDrawnPath.CGPath
testPicture.layer.mask = maskPie


// Add Into Stackview
self.myStackView.addArrangedSubview(testPicture)
self.myStackView.layoutIfNeeded()

Sospecho que estoy buscando el ancho y la altura incorrectos para generar las variables de centro y radio, aunque después de probar todos los diferentes anchos y alturas que puedo encontrar, todavía no puedo lograr los tamaños correctos. :-(

Respuestas a la pregunta(1)

Su respuesta a la pregunta