UIView动画中的一些坑

  作为一个初学者,第一次正式接触动画(还是最简单的那种),让我遇到一个坑,可能对于牛人来说没有什么,但是对于我来说,却是搞了半天才明白是怎么回事。

  先说下我的代码:

  1>. 第一段代码

[UIView animateWithDuration:1.0f animations:^{
            self.scroll.contentOffset = CGPointMake(0, 0);
        }];

  2>. 第二段代码

[UIView animateWithDuration:1.0f animations:^{
            [self.scroll setContentOffset:CGPointMake(0, 0) animated:YES];
        }];

  

  咋一看,貌似差不多嘛,不就是1>中用点语法,2>中用set方法吗?

  其实区别可大着呢,关键就在于set方法中的animated参数。第二段代码中的animated设置为YES,就是表示ContentOffset将从现在的坐标动画变为(0, 0),然而这个动画是有时间的,如果没有记错的话应该是1/4s,那么UIView的动画时长设置1.0f对于ContentOffset的变化就没有什么作用了。

  如果把2>中的animated参数设置为NO,则动画效果才会和1>中的动画效果一样。

  其他用此种方式设置动画也是一样的,希望我的经历能让和我一样的菜鸟少走些弯路。

原文地址:https://www.cnblogs.com/ljios/p/4482305.html