Я использую следующее для масштабирования и изменения положения слоя UIView, когда устройство поворачивается в горизонтальную плоскость.
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.x"];
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.y"];
[containerView.layer setValue:[NSNumber numberWithFloat: 1] forKeyPath: @"transform.scale.x"]; //[NSNumber numberWithInt:1]
[containerView.layer setValue:[NSNumber numberWithFloat: 1] forKeyPath: @"transform.scale.y"];
и затем следующее при повороте назад в портрет
[containerView.layer setValue:[NSNumber numberWithFloat: -75] forKeyPath: @"transform.translation.x"];
[containerView.layer setValue:[NSNumber numberWithFloat: 0] forKeyPath: @"transform.translation.y"];
[containerView.layer setValue:[NSNumber numberWithFloat: .7] forKeyPath: @"transform.scale.x"]; //[NSNumber numberWithInt:1]
[containerView.layer setValue:[NSNumber numberWithFloat: .7] forKeyPath: @"transform.scale.y"];
Проблема в том, что после поворота назад в портретное положение слой «перемещается», то есть смещение по x, y постепенно изменяется (увеличение x, уменьшение y). Масштаб выглядит нормально (т.е. не увеличивается, уменьшается при повторных поворотах)
Кто-нибудь может предложить правильное решение?