presentViewController重置所有UIView动画

时间:2013-06-06 06:57:52

标签: ios objective-c

假设我有两个视图控制器,A和B. UIView实例viewObject是nib中A的子视图,框架为0,0,100,100。

现在我执行以下

[UIView animateWithDuration:0.5 animations:^{[viewObject setFrame:CGFrameMake(100, 100, 100, 100)];}];

一切都很好。但是当我打电话时:

[self presentViewController:B animated:YES completion:NULL];

viewObject似乎在视图控制器转换期间跳转回animateWithDuration:animations:消息之前的帧。

同样,当我解除B时,viewObject位于nib中的位置。

如何让viewObject停留在同一个地方?

1 个答案:

答案 0 :(得分:-1)

尝试设置

[viewObject setClipsToBounds:YES]

至少在第二个动画之前。如果您不需要剪切到边界(因为阴影等),您可以在第二个动画完成后将属性重置为否。

每次遇到这个问题时,它都适用于我。