UIView 动画打破 TableView
Posted
技术标签:
【中文标题】UIView 动画打破 TableView【英文标题】:UIView Animation breaks TableView 【发布时间】:2014-02-28 15:06:32 【问题描述】:我在 UIView 中嵌入了一个 UITableView。当一个单元格被选中时,TableView 会使用 UIView Animation 向左滑动,以便显示下面的详细信息。当我将表格视图滑回其原始框架时,表格视图可以滚动到 Warpper 视图中其他元素的顶部。在动画之前,您只能在表格视图的边界内上下滚动表格视图单元格。为什么会这样?
- (void)slideTableView:(BOOL)reset
//Current pos
CGRect newTableViewFrame = self.tableView.frame;
//Determine direction based on current pos
int newX;
if (reset || newTableViewFrame.origin.x < 0)
newX = newTableViewFrame.origin.x=0;
else
newX = newTableViewFrame.origin.x - 280;
newTableViewFrame.origin.x =newX;
CGFloat animationDuration = 0.2;
CGFloat animationDelay = 0.0;
[UIView animateWithDuration:animationDuration delay:animationDelay options:UIViewAnimationOptionCurveEaseInOut
animations:^
self.tableView.frame=newTableViewFrame;
completion:^(BOOL finished)
];
【问题讨论】:
我之前在视图中添加了一个阴影并使用了:self.clipsToBounds = NO; self.layer.masksToBounds = NO;简单地设置回解决上述问题: self.clipsToBounds = YES; self.layer.masksToBounds = YES; 【参考方案1】:我之前在视图中添加了阴影并使用了:
self.clipsToBounds = NO;
self.layer.masksToBounds = NO;
只需设置回即可解决上述问题:
self.clipsToBounds = YES;
self.layer.masksToBounds = YES;
【讨论】:
以上是关于UIView 动画打破 TableView的主要内容,如果未能解决你的问题,请参考以下文章