IOS开发笔记UIView使用animateWithDuration控制页面效果
引言:最近学习了一些页面的跳转动画效果。使用的是UIview的animateWithDuration方法。当然之前的beginAnimations也是可以实现的。
比如一:从屏幕下部往上渐渐弹出一个图片
[plain]
-(void) fadeIn
{
CGRect rect = [[UIScreen mainScreen] bounds];
self.view.center = CGPointMake(rect.size.width/2, 720);
[UIView animateWithDuration:0.5f animations:^{
self.view.center = CGPointMake(rect.size.width/2, 240+10);
} completion:^(BOOL finished) {
// [imageView setImageURL:[NSURL URLWithString:imgUrl]];
}];
}
比如二:再渐渐退回去
[plain]
-(void) fadeOut
{
CGRect rect = [[UIScreen mainScreen] bounds];
[UIView animateWithDuration:0.5f animations:^{
self.view.center = CGPointMake(rect.size.width/2, 720);
} completion:^(BOOL finished) {
[imageView cancelImageLoad];
[imageView release];
//[imgUrl release];
// imageView = nil;
//imgUrl = nil;
// [self.view removeFromSuperview];
}];
}
如果使用beginAnimations就是下面这样的。。。。
[plain]
CGRect rect = [[UIScreen mainScreen] bounds];
self.myimg.center = CGPointMake(rect.size.width/2, 720);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
self.myimg.center = CGPointMake(rect.size.width/2, 720);
[UIView commitAnimations];
备注:其实掌握了 self.view.center = CGPointMake(rect.size.width/2, 240+10);
设置其中心点坐标即可。
下面是可以设置动画效果的属性:
frame
bounds
center
transform
alpha
backgroundColor
contentStretch
例如一个视图淡出屏幕,另外一个视图出现的代码:
[UIView animateWithDuration:1.0 animations:^{
firstView.alpha = 0.0;
secondView.alpha = 1.0;
}];
completion为动画执行完毕以后执行的代码块
options为动画执行的选项。可以参考这里
delay为动画开始执行前等待的时间
补充:移动开发 , IOS ,