关闭

IOS开发笔记UIView使用animateWithDuration控制页面效果

2362人阅读 评论(0) 收藏 举报
分类:

引言:最近学习了一些页面的跳转动画效果。使用的是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为动画开始执行前等待的时间

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:1315719次
    • 积分:10410
    • 等级:
    • 排名:第1685名
    • 原创:200篇
    • 转载:178篇
    • 译文:0篇
    • 评论:378条
    最新评论