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

iOS CAlayer 动画进入后台或者 调用viewWillDisappear viewDidDisappear后动画暂停问题的解决办法

iOS CAlayer 动画进入后台或者 调用viewWillDisappear viewDidDisappear后动画暂停问题的解决办法 .When my application is en...
  • jeffasd
  • jeffasd
  • 2016年11月16日 10:58
  • 2529

iOS 软件中所有动画突然不能正常显示(系统自带的动画也成了一闪而过)

今天开发过程中遇见了一个事,我的tableview,在点击了n次之后,突然之间整个软件的动画效果都没有了,变成了一闪而过,目前正在研究怎么回事. 经过查阅各方资料,我发现,这可能是一个多线程使用出错的...
  • wbxiaowangzi
  • wbxiaowangzi
  • 2015年09月01日 15:36
  • 576

使用constraint时, animateWithDuration不起作用的解决方法

调用UIView的animateWithDuration设计简单的动画是很方便的,但使用uiconstraint进行界面设计时,animateWithDuration的动画不起作用。         ...
  • u010140921
  • u010140921
  • 2015年01月09日 21:46
  • 2706

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

转载自:http://www.skype.io/cms/?p=151 这篇文章也可以跟着学学:http://blog.csdn.net/baxiaxx/article/details/7732991...
  • chenyong05314
  • chenyong05314
  • 2012年11月11日 12:36
  • 3617

调用UIView的animateWithDuration 控制layout constraint 动画无效问题

调用UIView的animateWithDuration设计简单的动画是很方便的。 但使用ui constraint 进行界面设计时,animateWithDuration的动画不起作用。问题可...
  • qls321
  • qls321
  • 2016年11月29日 15:17
  • 169

关于UIView的方法animateWithDuration:animations:completion:的说明

今天遇到一个问题,具体问题就不细说了,总之是UIView的动画导致的。 研究结果表明,UIViewController被挡住或没显示出来时,用UIView的静态方法animateWithDuratio...
  • yjh4866
  • yjh4866
  • 2016年07月11日 18:49
  • 3062

button移动(或执行动画)之后无法响应点击事件的解决方法

其实问题的本质原因是button在移动之后一直处于按下的状态.导致无法触发方法.我们要做的就是在移动后取消button的按下状态.以下为MyButton的.m文件.我的自定义button模仿了苹果的虚...
  • u013082522
  • u013082522
  • 2014年01月15日 18:00
  • 2137

IOS 动画不执行了

分享我碰到的一个bug及解决办法: 背景:我做一个二维码扫描的动画,就是一根“线”,不断上下移动 上代码: //扫描动画 - (void)scanAnimation { _sliceView....
  • ysq147310
  • ysq147310
  • 2014年01月02日 15:51
  • 868

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

一,发现问题1.错误代码如下:- (void)deleteClick:(UIButton *)btn{ //1.删除按钮所在的那一栏向右移动 [UIView animateWithDur...
  • lz465350
  • lz465350
  • 2015年07月10日 13:03
  • 1421

连续执行UIView的animateWithDuration:delay:options:animations:completion出现的问题

转载自:   http://www.cnblogs.com/zhudong/p/4207810.html 问题背景      自定义实现UIKeyboard的accessoryView...
  • chenyong05314
  • chenyong05314
  • 2015年03月30日 19:38
  • 1171
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS动画animateWithDuration:animations:无法显示动画的问题
举报原因:
原因补充:

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