2013-03-07 119 views
2

因此,我将一个iAd单元添加到UITableView的顶部。我在屏幕外创建广告单元,然后按照您的要求将其制作到位。将UITableView框架和contentOffset一起动画

当广告出现时,我想同时以相同的速度对表格的框架和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

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

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

+0

当然!谢谢,我有一种感觉,那里有一个简单的答案。 – 2013-03-07 19:19:23