Ios 展览及展览;用动画隐藏UIButton

Ios 展览及展览;用动画隐藏UIButton,ios,objective-c,core-animation,Ios,Objective C,Core Animation,我该如何让这个ui按钮从视图中慢慢消失?我正在寻找的动画将使按钮看起来像是向下绘制的宽度。我应该使用核心动画吗?我对iPhone开发相当陌生,但这似乎是可行的 使用UiView并将按钮置于其上。。。然后将动画添加到Uiview…您需要的 UIView *upwardView=[[UIView alloc]init]; upwardView.backgroundColor=[UIColor blueColor]; [upwardView setFrame:CGRectMake(0, 1

我该如何让这个
ui按钮
从视图中慢慢消失?我正在寻找的动画将使按钮看起来像是向下绘制的宽度。我应该使用核心动画吗?我对iPhone开发相当陌生,但这似乎是可行的


使用UiView并将按钮置于其上。。。然后将动画添加到Uiview…您需要的

   UIView *upwardView=[[UIView alloc]init];
   upwardView.backgroundColor=[UIColor blueColor];
[upwardView setFrame:CGRectMake(0, 10, 320, 200)];


UIButton *btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@"Click me" forState:UIControlStateNormal];
btn.frame=CGRectMake(10, 20, 120, 40);
[upwardView addSubview:btn];

CATransition *animation = [CATransition animation];
[animation setType:kCATransitionPush];
[animation setSubtype:kCATransitionFade];
[animation setDuration:.50];
[animation setDelegate:self];
[animation setTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseInEaseOut]];
CALayer *layer = [upwardView layer];
[layer addAnimation:animation forKey:nil];
[self.view.window addSubview:upwardView];

别忘了导入QuartzCore/QuartzCore框架

似乎您只是想通过使用UIView的类方法来设置帧更改的动画(或者精确地说,设置中心位置)
animateWithDuration:animations:

[UIView animateWithDuration:<some duration> animations:^{
    myButton.center = (CGPoint){myButton.center.x, CGRectGetMaxY(self.view.frame) + (CGRectGetHeight(myButton.bounds)/2.0)};
}];
[UIView animateWithDuration:动画:^{
myButton.center=(CGPoint){myButton.center.x,CGRectGetMaxY(self.view.frame)+(CGRectGetHeight(myButton.bounds)/2.0)};
}];

对于这个简单的操作来说,CoreAnimation可能有些过分。

您介意详细说明一下吗?你能提供我如何编写这段代码的结构吗,或者给我一个相关的教程?我对iPhone编程非常陌生,尤其是动画…如果我想在按下按钮时触发动画,我可以在iAction中为按钮添加CATTransition吗?@BobYousuk使您的uiview在ViewDod加载然后在按钮的操作中,您可以放置CATTransition动画并从superviewVivek中删除Upper,我不同意您的建议。核心动画比视图动画更难使用。gschandler关于使用UIView动画的建议似乎更适合这种情况。CA动画比view动画强大得多,但它也更难理解。哇,这非常好用,只是我相信你想要self.view.frame还有最后一个问题,当我想将按钮动画化回其原始状态时,我会使用CGRectGetMaxY吗?按钮高度?关闭。y=
CGRectGetMaxY(self.view.frame)-(CGRectGetHeight(myButton.bounds)/2.0)
a是的,这是有道理的,我真的没想过。谢谢你的这篇文章,它真的很有说服力,效果很好=)