我想创建一个类似于Twitter的配置文件viewcontroller。我相信它包含3个不同的子UITableviewController
,它通过分段控制来保持切换。但是当我滚动子viewcontroller的tableview时,它也会滚动父滚动视图。
有人可以解释如何实现这种行为吗?
答案 0 :(得分:3)
我完全了解你的问题。问题是,Twitter不是一个例子,但是Snapchat是....
您有一个嵌入UIScrollView(Subclassed)的根视图控制器。在这个子类中,你想要覆盖像这样的手势识别器......
-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if (gestureRecognizer.state != 0 && otherGestureRecognizer.state != 1)
{
return YES;
} else {
return NO;
}
}
现在你应该可以刷一下tableViewCells,而不是一次拖动所有4个方向。
答案 1 :(得分:2)
请查看下面的图片以获取解决方案。还要检查文档大纲中的结构。
使用UIContainerView和UITableViewController
希望它有助于解决您的问题。有任何疑问请告诉我。
答案 2 :(得分:1)
大约三个月前我也看过那个答案。我曾经试图用TableView分页实现它,但没有成功。那些子视图之间的滑动行为不一样,看起来很奇怪。最后,我最终使用了Page View Controller。 除了在控制器之间切换的滑动手势之外,您还可以实现一些按钮或分段控件并调用此功能进行导航:
[self.pageViewController setViewControllers:viewControllers方向:方向动画:YES完成:^(BOOL完成){
}];
答案 3 :(得分:1)
我很确定只有一个表(或集合视图)只需在按下三个按钮之一时切换单元格类型/单元格数据 - 为什么要让它更复杂?
你也可以刷新顶部单元格之外的所有单元格,并且记住滚动偏移量与其他解决方案相比是一件小事......