我添加了一个子视图我的tableview和当过用户滚动tableview中,子视图滚动它。 如何避免这种情况? 我知道这可能是一起不添加视图到tableview中的子视图的线条,但我没有任何其他的方法可以做到这方面的知识。 谢谢。
Answer 1:
如果你想使一个视图中的表视图的子视图,那么你可以通过在scrollViewDidScroll方法改变其origin.y值使其浮动(非滚动)。
-(void)scrollViewDidScroll:(UIScrollView *)scrollView {
self.iv.frame = CGRectMake(self.ivOrigin.x, self.ivOrigin.y + self.tableView.bounds.origin.y, self.iv.frame.size.width, self.iv.frame.size.height);
}
在这个例子中,“IV”是用于在图像视图中的属性,而“ivOrigin”是用于将图像视图(当我创建的图像视图及其在viewDidLoad中框架限定)的初始来源的性质。
Answer 2:
该UITableView的是建立和意图的东西,滚动视图。
所以,你可以打的是,它为你发现是相当困难的,因为一切有关组件的内置,并重点围绕滚动和完整列表的数据子集的快速显示...或者,你无法抗拒它,放在桌子上的固定位置的项目之上的静态项。
如果有,你不能添加表视图和动画的出项在主视图中的原因,你可以随时添加一个同时包含表视图,您的动画视图一个自定义UIView类。 有您的自定义视图类暴露包含表视图作为。表属性,你把东西的容器可以调整使用“mycontainerObject.tableview”,而不仅仅是“的tableview”在需要的地方。
是的,这一点更多的工作来编写自定义UIView子类,并给它几个属性举行的UITableView和任何的UIView你的动画了..但它是从长远来看不是试图“破解”变成可能更安全了很多在UITableView中的方法和视图层次结构,试图给它一个“就地固定”的行为。
文章来源: iOS prevent subview of tableview from scrolling with tableview