围绕屏幕动画MapView

时间:2013-01-17 16:27:19

标签: ios mkmapview

我有这个动画块:

[UIView animateWithDuration:10 animations:^{
            CGPoint centerLeft;
            centerLeft.x = self.leftMapPane.center.x - 100;
            centerLeft.y = self.leftMapPane.center.y;
            CGRect leftMove = CGRectMake(self.leftMapPane.frame.origin.x - 100, self.leftMapPane.frame.origin.x, self.leftMapPane.frame.size.width,     self.leftMapPane.frame.size.height);
            [self.leftMapPane setFrame:leftMove];
            [self.leftMapPane setCenter:centerLeft];
        }];

但由于某种原因虽然它进入了动画块,但它并没有移动我在屏幕上的mapViews。 应该注意的是,我不是在谈论移动地图而是包含地图的视图,也就是地图视图。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

动画在viewDidLoad中不起作用,因为此时视图已加载到内存中,但未必添加到视图层次结构中。因此,当您尝试为视图设置动画时,它将无法正常工作。

相反,将您的动画调用放在viewDidAppear中,它应该可以工作。这样,您可以确定您正在制作动画的视图位于视图层次结构中。我在使用你的动画代码的示例项目中尝试了这个,它运行良好。