iOS动画animateWithDuration:animations:无法显示动画的问题

原创 2015年07月10日 13:03:24

一,发现问题

1.错误代码如下:

- (void)deleteClick:(UIButton *)btn{

    //1.删除按钮所在的那一栏向右移动
    [UIView animateWithDuration:2 animations:^{

        NSLog(@"%@", NSStringFromCGRect(btn.superview.frame));

        CGRect tempFrame = btn.superview.frame;
        tempFrame.origin.x = self.view.frame.size.width;
        btn.superview.frame = tempFrame;
        btn.superview.alpha = 1;

        NSLog(@"%@", NSStringFromCGRect(btn.superview.frame));
    } completion:^(BOOL finished) {
        NSLog(@"end");

    }];
    //2.删除右移的那一栏
    NSLog(@"删除右移的那一栏前的视图数量%lu", self.view.subviews.count);
    [btn.superview removeFromSuperview];
    NSLog(@"删除右移的那一栏后的视图数量%lu", self.view.subviews.count);
}

2.本应该按照第一个实参的数值来进行位置的移动动画的,结果是:
1> 不管怎么修改第一个实参的值,都没看到动画.
2> 先显示第二个参数方法中(也就是动画过程)的日志信息,接着显示调用动画方法外(调用语句的下一条语句)的日志,最后显示第三个参数方法中(也就是动画完全执行完后)的日志.

2015-07-10 12:55:39.484 [基础控件][练习]01联系人管理01[6060:613] {{0, 103}, {320, 60}}
2015-07-10 12:55:39.486 [基础控件][练习]01联系人管理01[6060:613] {{320, 103}, {320, 60}}
2015-07-10 12:55:39.487 [基础控件][练习]01联系人管理01[6060:613] 删除右移的那一栏前的视图数量3
2015-07-10 12:55:39.487 [基础控件][练习]01联系人管理01[6060:613] 删除右移的那一栏后的视图数量2
2015-07-10 12:55:39.494 [基础控件][练习]01联系人管理01[6060:613] end

二,解决问题

1.我坚信,一定可以显示动画,于是把”删除右移的那一栏”的语句挪到第三个参数方法中,结果可以显示动画.

2.后来才发现原来是先执行了动画语句后的删除语句后,才开始对刚刚删除的控件执行动画,显然看不到右移的效果,只能看到删除的效果.

版权声明: 举报

相关文章推荐

Android View动画显示和隐藏(支持所有View)

先看看效果图 直接贴代码给大家看 package com.ninglu.biaodian.utils; import android.view.View; impor...

android gif动画

1.自定义view package com.bamasoso.user.view; import android.annotation.SuppressLint; import android.c...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

cell动画显示

第一步:使用CATransform3D在Y和Z轴上做旋转设置。 第二步:定义cell的初始状态,添加了一些阴影,并将第一步中的transform设置给cell中layer的transform mat...

Android常用动画ListView动画显示

Animation不仅可以作用于图片上,也可以作用于ListVew 首先定义每个item的动画效果  在res目录下创建anim目录创建以下文件 list_anim.xml <set xmlns:a...

显示动态动画

1.    iphone的UIImageView Class不支持显示单个动画文件。 简而言之,动画不会动! iphone的image view (UIImageVIew Class)支持以下...

iOS动画进阶(八)显式动画

显式动画 如果想让事情变得顺利,只有靠自己 -- 夏尔·纪尧姆 上一章介绍了隐式动画的概念。隐式动画是在iOS平台创建动态用户界面的一种直接方式,也是UIKit动画机制的基础,不过它并不能...

SwipeRefreshLayout手动显示刷新动画

简述比如说要服务器取新闻数据,界面将会一个列表形式,支持下拉刷新功能。通常做法都会在进入界面时,把下拉刷新的动画显示出来,数据获取成功后隐藏刷新动画,这样的做法很普遍。然后在Google在supper...
  • hupei
  • hupei
  • 2016-07-19 10:18
  • 1867

android动画-移动动画问题

Android写动画效果不是一般的麻烦,网上找了好久,终于解决了动画的问题,总结记录以共勉。 仅以水平方向移动效果做说明,垂直方向类似。   完整动画函数代码:   1 public v...

iOS动画笔记之-----CAAnimation

/** The base animation class. **/ @interface CAAnimation : NSObject /* Creates a new animatio...

SurfaceView显示动画效果

SurfaceView显示动画效果 一、基础知识: SurfaceView继承自View,View负责在主线程中更新动画,而SurfaceView是在一个新线程中更新动画。 SurfaceView...
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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