pujiaxin33 / jxpagingview Goto Github PK
View Code? Open in Web Editor NEW类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多。
License: MIT License
类似微博主页、简书主页等效果。多页面嵌套,既可以上下滑动,也可以左右滑动切换页面。支持HeaderView悬浮、支持下拉刷新、上拉加载更多。
License: MIT License
在列表下拉刷新了之后,边缘滑动categoryView,界面死了,点击cell,能知道当前已离开这个界面
当导航栏隐藏的时候,无法添加列表下拉刷新,如果是添加顶部的下拉刷新,这个下拉的控件又会在headerView上面,作者有啥解决办法吗
@pujiaxin33 你好,使用了你的这个库解决了页面布局的一些问题,谢谢。
同时有个问题想请教,就是在左右滚动切换时,如果pin headerview需要动态的调整高度,如何处理?
如图,比如节目和生活下pin headerview是80,当切换到动态下时为45,这时候需要怎么调整一下?谢谢!
_categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, 100, JXheightForHeaderInSection)];
我把_categoryView 的宽度设为100,结果还是屏幕的宽。。
还是从Nav下面出来的.
iPhone 8 Plus iOS 11.4
_listViewArray 可以用vc1.view, vc2.view ...想各个分页内容由各自的控制器管理,需要怎么设置?
有五个item,直接点击第五个,会看到中间的界面,如果有很多个item,会不会很占用内存
弹出Failed to load project at '/Users/goopai/Downloads/JXPagingView-master/JXPagingView.xcodeproj', incompatible project version.
能否支持下拉放大的功能
oc怎么用?继承还是push推出?
大佬,如果列表是collectionView时,上滑到collectionView部门内容超出边界后( categoryView 悬浮停靠后继续上滑了一段距离), 往下滑时collectionView 的contentOffset的y值突然变为0,是什么原因呀?而且上下滑动时很容易左右滑动
我的listView 中的 UIViewController 是使用xib 创建的,发现不会加载视图??? 不会执行 UIViewController 中的 viewDidLoad() 方法???
这个listViewDidScrollCallback 没有执行为什么??
你好,请问,如何处理滑动返回的事件?比如如何与FDFullscreenPopGesture 这个库结合使用?麻烦你了,这个问题好忧伤。。。
不能从xib加载吗
当tab非第一个时,屏幕边缘左滑手势无效,需要滑到第一个tab时才可以继续左滑返回。。。
scrollView 属性:
open var scrollsToTop: Bool // default is YES.
注释是:
When the user taps the status bar, the scroll view beneath the touch which is closest to the status bar will be scrolled to top, but only if its scrollsToTop
property is YES, its delegate does not return NO from -scrollViewShouldScrollToTop:
, and it is not already at the top. On iPhone, we execute this gesture only if there's one on-screen scroll view with scrollsToTop
== YES. If more than one is found, none will be scrolled.
// -------------------------------------------------------
首先非常感谢作者写了该开源项目,在实际的项目中节约了很多时间。
有一个问题:
如果子item也滚动到顶部的话,此时点击 status bar 是没有反应的,因为 mainTableView 和该 itemScrollView 的 scrollsToTop 都是true, 系统不知道处理哪一个了。希望题主可以把这个小issue加进去😄。
我在实际项目的处理方式是:
1 在 AppDelegate.swift 添加通知:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
super.touchesBegan(touches, with: event)
if let touch = touches.first {
let statusBarHeight = xxxxxx
if touch.location(in: nil).y > statusBarHeight {
return
}
NotificationCenter.default.post(name: notificationName, object: nil)
}
}
2 在相关的ViewController设置:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
NotificationCenter.default.addObserver(self, selector: #selector(scrollToTopNoti), name: .notificationName, object: nil)
}
@objc private func scrollToTopNoti() {
item0.scrollView.contentOffset = .zero
item1.scrollView.contentOffset = .zero
item2.scrollView.contentOffset = .zero
pagingView.mainTableView?.scrollRectToVisible(topFrame, animated: true)
}
这样处理以后点击status bar 就能正常滚动到顶部了,希望题主可以考虑一下怎样在pods实现类似的功能。
currentScrollingListView
这个属性,需要在listview
上下滑动一下才能知道.- (void)listViewDidScroll:(UIScrollView *)scrollView {
self.currentScrollingListView = scrollView;
[self preferredProcessListViewDidScroll:scrollView];
}
listview
这个事件uicollectionview
的手指离开屏幕后的事件有个代理(scrollview的代理),貌似可以处理这个问题.![Uploading IMG_1282.GIF…]
请问一下这个怎么实现,oc版demo中能加一个吗???或者说一下思路也行。。谢了。。。
@pujiaxin33 你好,先感谢你的这个库,写的挺好。。然后请教你个问题哈,就是我自定义了一个悬浮headerview,上面有2个按钮,我在切换俩按钮的时候怎么触发下面listview的切换,或者切换下面的listview怎么选中headerview上的某个按钮?谢谢!
OC版 如何更新顶部userHeaderView的高度? 每次下拉刷新 我都想动态改变头部的高度,要怎么做
类似qq空间的那种效果
从pageview的子控制器点进去进入新的控制器,再返回会发现pageview往下偏移了64
你好,感谢作者的开源,有几点小疑问:
1、如果我想使用带有头部高度可以改变的效果,只使用JXCategoryView可以吗,还是说需要JXCategoryView和JXPagingView一起pod进来
2、swift跟oc版本代码同步吗
demo中需要改一下判断scrollCallback
if(scrollView == self.tableView && self.scrollCallback){
self.scrollCallback(scrollView);
}
另外,对比其他的框架
我决定要是用你的框架,
类似的框架或多或少有些不足,
你的也有,不过少很多.
YNPageViewController
中就是希望你做的更好~
vc 一进来,我就加载 pageView,但是此时的 title 和 listArray 都没有值得。我想通过网络请求之后再刷新头部视图和 pageView。。 请问下怎么实现。。。
当头部视图的高度为小数时,在 ipone5s 模拟器上,listViews里面的滑动视图滚动不了
(UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {
UIView *view = [super hitTest:point withEvent:event];
if (view == nil) {
for (UIView *subView in self.subviews) {
CGPoint tp = [subView convertPoint:point fromView:self];
if (CGRectContainsPoint(self.btnFollow.bounds, tp)) {
view = self.btnFollow;
} else if (CGRectContainsPoint(self.btnServe.bounds, tp)) {
view = self.btnServe;
} else if (CGRectContainsPoint(self.btnMore.bounds, tp)) {
view = self.btnMore;
} else if (CGRectContainsPoint(self.btnClose.bounds, tp)) {
view = self.btnClose;
}
}
}
return view;
}
还是点击不到???请问问什么??
不知道JXPagingViewListViewDelegate代理怎样设置,preferredListViewsArray()返回的数组,数组里的对象怎样遵循JXPagingViewListViewDelegate,不然对象无法遵循这个协议
设置了currentScrollingListView的scrollsToTop,但是只有HeaderView可见时才能滚到到顶部,滑动范围超过HeaderView的高度接不能滚到顶部了。
谢谢。
作者您好:
我在使用这个库的时候,在TestListView中设置刷新的时候,我想一进来就刷新一次,然后在点击title的时候也能够刷新,问题来了,在三个title的时候,点击中间的那个,会把第三个或者第一个也一起刷新了,虽然好像预加载了,但是我不需要这个功能该怎么解决?还望回复一下
@pujiaxin33 请教个问题,就是点击切换不同标签选项时,pageView reloadData后高度变短了,出现了黑边。如图,点击节目时PinSectionHeader=80然后再切换回来点击了动态PinSectionHeader=45,分别设置PinSectionHeader后,pageView reloadData后出现了黑边。。
RT,之前产品要求做成左右滑动的,我用了大神的这个框架,现在产品要禁止左右滑动
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.