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

原创 2013年12月03日 13:38:32

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

UIView animateWithDuration 使用详解

在ios4.0及以后鼓励使用animateWithDuration方法来实现动画效果。当然,以往的begin/commit的方法依然使用,下面详细解释一下animateWithDuration的使用方...

UIView animateWithDuration 使用详解(实现动画效果)

转载自:http://www.skype.io/cms/?p=151 这篇文章也可以跟着学学:http://blog.csdn.net/baxiaxx/article/details/7732991...

UIView animateWithDuration

函数原型: + (void)animateWithDuration:(NSTimeInterval)duration animations:(void (^)(void))animation...

[UIView beginAnimations:context:]与[UIView animateWithDuration:animations:]值得注意区别

看过官方文档的都知道,官方推荐在iOS4以后使用[UIView animateWithDuration:animations:],而不是原来的[UIView beginAnimations:conte...

iOS开发之使用UIView-Positioning简化页面布局

使用过代码布局的人可能会有这样的感觉,给控件设置frame的时候比较繁琐。最近在Github上看到有一个UIView的一个分类UIView-Positioning,这个分类提供了一些属性,比如left...
  • hnsdwhl
  • hnsdwhl
  • 2015年06月27日 12:18
  • 292

IOS开发-UIView之动画效果的实现方法(一)

IOS开发-UIView之动画效果的实现方法(一)在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等AP...

IOS开发-UIView之动画效果的实现方法(合集)

IOS开发-UIView之动画效果的实现方法(合集)

IOS开发-UIView之动画效果的实现方法(合集)

转载自:http://www.tuicool.com/articles/BjMrQne 前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验...

IOS开发-UIView之动画效果的实现方法(合集)

原文   http://www.cnblogs.com/GarveyCalvin/p/4193963.htm 前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的A...
  • Dlg1992
  • Dlg1992
  • 2016年04月18日 21:52
  • 152

iOS开发-UIView之动画效果的实现方法(合集)

前言:在开发APP中,我们会经常使用到动画效果。使用动画可以让我们的APP更酷更炫,最重要的是优化用户体验,但取决于动画的质量。像QQ、微信、新浪微博等APP,动画效果就很好了,至少我很喜欢它们的动画...
  • hatsuna
  • hatsuna
  • 2015年07月27日 10:51
  • 246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS开发笔记UIView使用animateWithDuration控制页面效果
举报原因:
原因补充:

(最多只允许输入30个字)