0

我正在尝试为这样的两个视图制作动画:

CGAffineTransform transform = CGAffineTransformMakeRotation(M_PI_2);
CGRect rect = self.oneView.frame;
rect.origin.y =  10;

[UIView animateWithDuration:0.5 delay:0.0 options:UIViewAnimationOptionCurveLinear animations:^{

    self.oneView.frame = rect;
    self.buttonView.transform = transform;

} completion:^(BOOL finished) {
    ...
}];

但只有 buttonView 旋转了。OneView 保持不变。但如果我评论

//self.buttonView.transform = transform;

OneView 已移动。

4

2 回答 2

0

rect.origin.y = 10;可能会给您一个警告,因为您不能直接写入CGRect.

你必须做rect = CGRectMake(rect.origin.x, 10.0f, rect.size.width, rect.size.height)

于 2013-11-14T17:47:07.763 回答
0

oneView和buttonView是什么关系?如果 oneView 是 buttonView 的子视图,那么这将是预期的效果。

您是否尝试过从 2 个单独的调用中运行这些动画?

于 2013-11-14T19:07:31.580 回答