首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >addSubview动画

addSubview动画
EN

Stack Overflow用户
提问于 2010-02-26 04:32:40
回答 6查看 80.1K关注 0票数 61

我有主UIView,我可以在其中显示不同的数据。然后我放了一个按钮,它显示子视图,如下所示:

代码语言:javascript
复制
- (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出现时,我如何添加某种动画?比如缩放或者向下滑动或者类似的东西。有没有一些简单的代码?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-02-26 04:42:54

您好,您可以使用UIView动画:

代码语言:javascript
复制
[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等。

还有一些内置的动画,比如翻转和卷曲:

代码语言:javascript
复制
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
[UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight
                           forView:newView
                            cache:YES];

[self.navigationController.view addSubview:settingsView.view];
[UIView commitAnimations];

希望这篇文章能帮助你入门:)

票数 80
EN

Stack Overflow用户

发布于 2011-12-19 21:20:49

代码语言:javascript
复制
[UIView transitionWithView:containerView duration:0.5
        options:UIViewAnimationOptionTransitionCurlUp //change to whatever animation you like
        animations:^ { [containerView addSubview:subview]; }
        completion:nil];
票数 83
EN

Stack Overflow用户

发布于 2015-09-25 13:01:32

让我们在swift中完成此操作。

代码语言:javascript
复制
var redView = UIView(frame:CGRectMake(20,20,100,100))
redView.backgroundColor = UIColor.redColor
redView.alpha = 0.0
view.addSubview(redView)

UIView.animateWithDuration(0.25) { () -> Void in
    redView.alpha = 1.0
}

添加子视图不能通过简单地将其放在animateWithDuration块中来实现动画效果。并且不能使用Hidid.对其进行动画处理

票数 25
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2337408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档