0

我创建了在 position 显示的 View (0, 0, 320, 100)。现在我想让这个视图来自上部并设置在给定的位置,我已经尝试过了。

CATransition *transition = [CATransition animation];
     transition.duration = 1.0;
     transition.type = kCATransitionFromTop; //choose your animation
     [bGView.layer addAnimation:transition forKey:nil];
     [self.view addSubview:bGView];

但这对我不起作用。

4

3 回答 3

2

您可以在动画块中调整视图的帧首先将视图添加为子视图

     [self.view addSubview:bGView];

并在可见屏幕区域之外给它一个框架

    bGView.frame = CGRectMake(0,-150,320,100);

然后触发动画以使其从上方

[UIView animateWithDuration:2.0
                animations:^{ 
                    bGView.frame = CGRectMake(0,0,320,100);
                } 
                completion:^(BOOL finished){
                    ;
                }];
于 2013-03-05T07:28:12.420 回答
0

一切都好。除了应该在超级视图中添加动画之外,它应该是这样的:

[self.view.layer addAnimation:transition forKey:nil];
于 2013-03-05T07:28:38.753 回答
0

您可以尝试查看块动画

[UIView animateWithDuration:0.7f animations:^{

        bGView.frame = CGRectMake(0.0f, 200.0f, 320.0f, 100.0f);//Some frame

}];
于 2013-03-05T07:29:40.003 回答