Ответ 1
CGAffineTransform transform =
CGAffineTransformMakeRotation(angle);
yourSubView.transform = transform;
Итак, я хочу повернуть subview x градусов (или не менее 90 градусов). Я хочу, чтобы subwiew вращался вокруг нижнего правого угла subview. Возможно ли это сделать анимированным, как на рисунке ниже?
Спасибо!
CGAffineTransform transform =
CGAffineTransformMakeRotation(angle);
yourSubView.transform = transform;
Йо может сделать это, составляя преобразования. Сначала переведите начало вращения, затем поверните его, а затем верните в исходный центр. Вид, который вы вращаете, - v. Он находится внутри анимации просто для удовольствия.
[UIView beginAnimations:nil context:NULL];
CGAffineTransform t = CGAffineTransformIdentity;
t =CGAffineTransformTranslate(t,- v.bounds.size.width/2, -v.bounds.size.height/2);
t = CGAffineTransformRotate(t, -M_PI/2);
t =CGAffineTransformTranslate(t,v.bounds.size.width/2, v.bounds.size.height/2);
v.transform = t;
[UIView commitAnimations];