我有主UIView,我可以在其中显示不同的数据。然后我放了一个按钮,它显示子视图,如下所示:
- (IBAction) buttonClicked:(id)sender
{
UIView *newView = [[UIView alloc] initWithFrame:CGRectMake(25,25,50,20)];
UILabel *newLabel = [[UILabel alloc] initWithFrame:CGRectMake(25,25,50,25)];
newLabel.text = @"some text";
[newView addSubview:newLabel];
[self.view addSubview:newView];
[newLabel release];
[newView release];
}
newView看起来很好,但它不会以任何方式自动生成动画,它只是立即出现。当newView出现时,我如何添加某种动画?比如缩放或者向下滑动或者类似的东西。有没有一些简单的代码?
发布于 2010-02-26 04:42:54
您好,您可以使用UIView动画:
[newView setFrame:CGRectMake( 0.0f, 480.0f, 320.0f, 480.0f)]; //notice this is OFF screen!
[UIView beginAnimations:@"animateTableView" context:nil];
[UIView setAnimationDuration:0.4];
[newView setFrame:CGRectMake( 0.0f, 0.0f, 320.0f, 480.0f)]; //notice this is ON screen!
[UIView commitAnimations];
SDK现在将为您解决此问题,并将视图动画显示到您为其提供的位置。这适用于UIViews的大多数属性: alpha、scale、bounds、frames等。
还有一些内置的动画,比如翻转和卷曲:
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
forView:newView
cache:YES];
[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];
希望这篇文章能帮助你入门:)
发布于 2011-12-19 21:20:49
[UIView transitionWithView:containerView duration:0.5
options:UIViewAnimationOptionTransitionCurlUp //change to whatever animation you like
animations:^ { [containerView addSubview:subview]; }
completion:nil];
发布于 2011-11-17 19:56:45
针对QuarzCore框架的链接
#import <QuartzCore/QuartzCore.h>
CATransition *transition = [CATransition animation];
transition.duration = 1.0;
transition.type = kCATransitionPush; //choose your animation
[newView.layer addAnimation:transition forKey:nil];
[self.view addSubview:newView];
https://stackoverflow.com/questions/2337408
复制相似问题