假设有一个视图A,在A上面添加一个子视图B,那么对A进行动画:
[UIView animateWithDuration:5 animations:^{
A.frame = CGRectMake(0, 0, 320, 0);
}];
效果是A执行了动画,但B的frame并没有改变;
解决办法一:
在动画block里面重设 B.frame = ? 。但如果A的子视图很多,这样显然很麻烦;而且各个子视图变化幅度不一样,动画效果也不好看;
解决办法二:
直接设置 A.clipsToBounds = YES;
这样视觉上看起来,子视图也在随A动画,简单好看。