Вы просто масштабируете до того же размера, так как вы в основном говорите, возьмите текущее преобразование и масштабируйте его 1: 1 по X и 1: 1 по Y. Возможно, вы захотите сделать 0,5,0,5 вместо 1,0,1,0 в вашемВторой метод.
CGAffineTransform xForm = [self transform];
xForm = CGAffineTransformScale(xForm,0.5, 0.5);
Имейте в виду, когда вы добавляете вращение, чтобы сделать это в обратном порядке, поэтому вращайте, а затем масштабируйте.Это было бы более важно, если бы вы включили перевод, но в этом случае, вероятно, работали бы в любом случае.