Возможно, я неправильно понимаю, как работает CGAffineTransform, но, похоже, он дает странные результаты для источника кадра.
например:
print(attribute.frame)
attribute.transform = CGAffineTransform(scaleX: 0.68, y: 0.68)
print(attribute.frame)
дает результаты:
(213,0, 54,0, 459,0, 23,5)
(286,29948979591836, 57,75280612244898, 312,4010204081633, 15.994387755102032)
Правильно масштабируется ширина и высота, но начало координат х и у увеличилось.