ios - 一起为 UITableView 框架和 contentOffset 设置动画

标签 ios uitableview animation iad

因此,我将 iAd 单元添加到 UITableView 的顶部。我正在屏幕外创建广告单元,然后按照您的预期将其设置为动画。

当广告出现时,我想以相同的速度同时为表格的 frame 和 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];

如果我只为细胞移动的帧设置动画,我觉得这很糟糕。我希望这能尽可能少地扰乱 UI。

有解决办法吗?

最佳答案

与其同时调整表格 View 大小和滚动,不如尝试在不调整表格 View 大小的情况下为广告的滑入设置动画。然后,在完成 block 中,设置 TableView 框架和 contentOffset 而不对其进行动画处理。

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

关于ios - 一起为 UITableView 框架和 contentOffset 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15279303/

相关文章:

ios - 是在旧设备上忽略 openGL 效果更好,还是接受 slooooow 性能?

ios - 引用 socket 未显示在 xcode 6 中

ios - 从 UITableView 单元格中删除 subview

swift - UITableViewRowAction - 延迟关闭动画直到确认

ios - 在 Swift 中解析 JSON 中的嵌套数组

ios - 循环遍历 NSArray 中的数据并从 url 中提取 UIImage

ios - SIGABRT 与编辑表 - IOS

ios - 编辑时 reloadData 后 tableview 选择指示不会保留

iOS 图形随 Alpha 一起出现和淡出

javascript - 如何为以下 jQuery 幻灯片函数添加淡入淡出效果?