【发布时间】:2017-06-10 12:19:20
【问题描述】:
嗨...他们真的是如何实现这个的? Twitter个人资料页面有几个教程。但他们并没有处理所有的可能性...... 首先...当您在任何位置滚动顶部或底部时,顶视图开始滚动,直到分段控件到达页面顶部...然后滚动不会停止并且子表开始滚动,直到向下和中间的表格视图开始动态加载其他行...所以我认为它们不会静态设置滚动视图的内容
第二件事他们如何处理子表......他们是containerView吗? 如果是这样,那么结构将是这样的
ScrollView
TopView (User Info)
Segmented Controll
scrollView(to swipe right or left changing tables)
ContainerView For TWEETS
ContainerView For TWEETS & REPLIES
ContainerView For MEDIA
ContainerView For LIKES
我说的对吗? 那么他们如何处理子表和顶部滚动视图之间的滚动以实现基于滚动的顶部视图位置更改...
真是令人兴奋
这就是我处理嵌套滚动视图的方式... 我做了一个 childDidScroll 协议,我的子表视图实现了它,在我的个人资料页面中,我可以接收所有子 didscroll 事件然后在 childDidScroll 方法:
//if child scrollview going up
if(scrollView.panGestureRecognizer.translation(in: scrollView.superview).y > 0)
{
//check top scrollview if it is at bottom or top
//then disable the current scrollview
if mainScrollView.isAtBottom && scrollView.isAtTop{
scrollView.isScrollEnabled = false
}else{
//else enable scrolling for my childs
featuresVC.tableView!.isScrollEnabled = true
categoriesVC.tableView!.isScrollEnabled = true
shopsVC.tableView!.isScrollEnabled = true
}
print("up")
}
else
{
if mainScrollView.isAtTop {
scrollView.isScrollEnabled = false
mainScrollView.scrollToBottom()
}else{
featuresVC.tableView!.isScrollEnabled = true
categoriesVC.tableView!.isScrollEnabled = true
shopsVC.tableView!.isScrollEnabled = true
}
print("down")
}
但是这个解决方案有一些缺点......其中一个是首先当子滚动视图位于顶部或按钮时,应该有两个尝试调用我的父滚动视图来处理滚动,首先尝试我禁用孩子滚动视图,然后在第二次尝试父滚动视图处理滚动
** 当你,我的孩子,向上滚动时,我该怎么说,检查你的父母是否在顶部,然后让他处理滚动,当他触摸底部时,你可以处理保持向上滚动,或者告诉父母scrollview ,如果你在顶部(用户信息可见)如果你或你的孩子起床滚动,首先你处理滚动,当你在底部丰富时(用户信息不可见),让你的孩子保持滚动**
【问题讨论】:
-
您找到解决方案了吗?我只是被困在这里。
-
是的,我找到了一个库,让我找到链接,这里是github.com/maxep/MXSegmentedPager,我在一个项目中使用它,它工作正常,
-
如果没问题,请给我点赞
-
我已经在使用这个库了。我想从我的项目中删除它,这就是我问的原因。好的,谢谢你的回复。
-
我想知道你是如何自定义这个库的。因为 twitter 个人资料是不同的,特别是标题部分。还有我想删除的segue。
标签: ios swift nestedscrollview