Dec 04, 2012 12:13
Допустим, есть объект:
...
[self.myObject setFrame:CGRectMake(300, 150, 100, 200)];
...
который вращают:
...
[self.myObject setTransform: CGAffineTransformMakeRotation(self.angle)];
...
Изменять положение объекта во время его анимации надо не через setFrame, а через изменение центра объекта setCenter!
Например, перемещение при смене ориентации экрана:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration{
[super willRotateToInterfaceOrientation:toInterfaceOrientation duration:duration];
if(UIInterfaceOrientationIsPortrait(toInterfaceOrientation)){
[self.myObject setCenter:CGPointMake(300, 150)];
} else if(UIInterfaceOrientationIsLandscape(toInterfaceOrientation)){
[self.myObject setCenter:CGPointMake(500, 400)];
}
}