将UITableView框架和contentOffset一起动画

时间:2013-03-07 18:48:42

标签: ios uitableview animation iad

所以我在iIT单元的顶部添加了一个iAd单元。我正在屏幕外创建广告单元,然后根据您的需要将其设置为动画。

当广告出现时,我想以相同的速度同时为桌子的框架和contentOffset设置动画,这样桌子看起来会保持静止,而实际上它会因广告的高度而缩小并滑动内容同时出现。

如果我一起制作动画,它们似乎以不同的速度发生,并且当广告出现时,一切都会跳得很厉害。

[UIView animateWithDuration:0.05 delay:0 options:UIViewAnimationOptionCurveEaseInOut
                     animations:^{
                           [self.table setFrame: CGRectMake(tableFrame.origin.x,tableFrame.origin.y+50,tableFrame.size.width,tableFrame.size.height-[self getBannerHeight])];
                           [self.table setContentOffset:CGPointMake(self.table.contentOffset.x,self.table.contentOffset.y+50) animated:NO];
                           [self.adBannerView setFrame:CGRectMake(0,0,self.adBannerView.frame.size.width,self.adBannerView.frame.size.height)];
                     }
                     completion:nil];

如果我动画正好框架细胞移动,这会吸吮imo。我希望这会尽可能少地破坏用户界面。

有解决方法吗?

1 个答案:

答案 0 :(得分:1)

不要调整表格视图的大小并同时滚动,而是尝试设置广告的滑动动画,而无需调整表格视图的大小。然后,在完成块中,设置表视图框架和contentOffset,而不对其进行动画处理。

这应该具有您想要的效果,但在动画期间,表格视图实际上只会被广告部分覆盖。