Giter VIP home page Giter VIP logo

gkpagescrollview's Issues

Xcode 11 iOS 13下闪退问题

GKPageScrollView.m

  • (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return self.frame.size.height - self.ceilPointHeight;
    }

原因是, 在这里获取到的 self.frame.size.height 为0

不生效

使用方法有点迷糊,能有个简单demo吗

子控制器能加入懒加载吗?

一共有 三个tab,动态,文章,更多
列如 第一次加载,单纯加载 动态这个控制器,但滑动到文件控制器,才加载它。

childVCs的VC 的tableView 代理方法不走

WechatIMG272

segmentView 下边三个vc,每个vc 有个tableview,
数据请求下来后, 调用了 currentVC.tableView reloadData, 但是 代理方法只执行了numberOfRowsInSection,返回的是3,
但是不执行cellforrowatindex

导航栏状态切换

目前导航栏状态切换需要在- (void)mainTableViewDidScroll:(UIScrollView *)scrollView isMainCanScroll:(BOOL)isMainCanScroll里面自己实现,希望能封装几种常见模式。

子ViewController有一个固定在底部的view

您好:
条件:子ViewController有一个固定在底部的view,父ViewController使用GKPageScrollView并添加子ViewController
问题:子ViewController底部的view一开始并不会显示,需要向上滑动一段距离才会显示。这段距离就是GKPageScrollView的headerView的高度。

我想让子ViewController固定在底部的view固定住,除了把view转移到父ViewController上,还有什么方法吗?

列表下拉刷新

使用列表下拉刷新时,如果cell的数量比较多,当滑到下面,然后下拉滑上去,当滑的速度很快,会瞬间回到顶部了,不知是不是就是这样设计的呢?

使用 uicollectionview 使用问题

你好,我发现使用uicollectionview ,如果数据源多的话没问题,数据源少的话会滑不动, 可以使用一个列表中只有一个数据源和20个数据源进行对比,滑到 menu 悬停的时候测试

切换 Page 后如何将对应的 PageListView 置顶?

在使用 GKPageScrollView 的非懒加载模式时, 有这样一个场景,:

  1. SegmentView 吸顶后将 Segment A 的对应的 PageListA 向上滑动一部分;
  2. 切换到 Segment B, 然后下滑 PageListB,将 SegmentView 从吸顶状态变为非吸顶状态;
  3. 切换到 Segment A, 实际操作中发现,当在此滑动 mainTableView 时,PageList A 会重置到置顶状态(这个逻辑不是很明白)。

做过的尝试:
在 SegmentView 的置顶跟非置顶状态切换瞬间,记录当前 mainTabView 的 lastOffset, 然后切换后,重新设置 mainTableView 的 offset 为当前记录的 lastOffset.

请问如何才能做到,切换到 Segment A 后, PageListA 列表的第一个元素处于最顶部的置顶状态,跟淘宝首页类似。

列表点击无法跳转哦

发现self.navigationController 为nil无法push造成的,这个有什么好方法解决?只能传递controller过去?

使用中碰到的几个问题

你好,使用过程中遇到几个问题。
1、如果mainTableView滚动了一段距离,那么点击状态栏回滚顶部以后,上拉的时候头部距离会直接偏移。
2、直接拖拽头部会卡到JXSegment的头部位置,mainTableView不会继承头部滚动的加速度。
3、头部中添加CollectionView的横向滚动,和纵向滚动的手势可以共存,既可以横向滚动也可以纵向滚动,无法保证同一个时间只有一种手势。
4、mainTableView的滚动有时候手势无法响应的问题。
期待您能尽快解决这些存在的问题。

设置属性「isDisableMainScrollInCeil = YES」临界点快速滚动,有点问题

我设置「isDisableMainScrollInCeil = YES」,然后我的头部高度是「1400」
我在临界点快速滚动,「isDisableMainScrollInCeil」不生效
截屏2020-08-06 上午10 29 16

我这个函数里面里面加了判断当前是否mainScrollView 是否已经滚动到临界值

// 临界点
            CGFloat criticalPoint = [self.mainTableView rectForSection:0].origin.y - self.ceilPointHeight;
            if(self.mainTableView.contentOffset.y >= criticalPoint){
                self.isMainCanScroll = NO;
                self.isListCanScroll = YES;
            }else{
                if (self.isAllowListRefresh && offsetY < 0 && self.isCeilPoint) {
                    self.isMainCanScroll = NO;
                    self.isListCanScroll = YES;
                }else {
                    self.isMainCanScroll = YES;
                    self.isListCanScroll = NO;

                    scrollView.contentOffset = CGPointZero;
                    if (self.isControlVerticalIndicator) {
                        scrollView.showsVerticalScrollIndicator = NO;
                    }
                }
            }

不知道这样会不会引起其他的问题,如果写错了,感谢指正

运行报错

// 设置导航item偏移量
if (GKDeviceVersion >= 11.0 && !GKConfigure.gk_disableFixSpace) {
    self.layoutMargins = UIEdgeInsetsZero;
    
    for (UIView *subview in self.subviews) {
        if ([NSStringFromClass(subview.class) containsString:@"ContentView"]) {
            // 修复iOS11 之后的偏移
            subview.layoutMargins = UIEdgeInsetsMake(0, self.gk_navItemLeftSpace, 0, self.gk_navItemRightSpace);
            break;
        }
    }
}

这种做法在 iOS 13 中会导致崩溃,崩溃信息如下:

Client error attempting to change layout margins of a private view
  

试图更改私有视图的布局边距时出现错误

collectionView无法滚动

结构是:一级头部+pageScrollView+2个子控制器,其中一个一级控制器加二级头部高度为0+pageScrollView+子控制器。1.滚动到临界点,2.滚动其他子控制器列表,3.切到是collectionView的子控制器时无法滚动

self.childVCs里的controllers动态创建问题

由于需求原因,我需要动态创建childVCs,发现滚动紊乱

发现 [self configListViewScroll];在init里处理,就很容易到中第一次进来,设置不成功,建议单独把方法拉出来处理

方法使用版本判断问题

文件名 GKPageListContainerView.h
图片
contentInsetAdjustmentBehavior 这个属性,需要在iOS 11 系统才有,这个判断需要改一下。

你好,这个库是否考虑加入缓存?

看了你的 demo,发现有集成 WMPage,但是就用不了 JXCategory,所以有没有考虑加入控制器的缓存,类似 WM 那张操作,但是又能结合 JXCategory的使用?

1.使用懒加载崩溃问题2.列表控制器中的self.navigationController为nil,列表控制器没办法添加到当前控制器

1.使用懒加载崩溃问题:
使用了JXCategoryView,JXCategoryListContainerView是高度封装的,它自动把列表控制器添加到JXCategoryListContainerViewController上。列表控制器与当前控制器中间隔了一个JXCategoryListContainerViewController,而JXCategoryListContainerViewController没办法实现GKPageListViewDelegate这个代理。造成了
"- (id)pageScrollView:(GKPageScrollView *)pageScrollView initListAtIndex:(NSInteger)index" 这个方法无法返回有效代理。
崩溃输出:reason: 'child view controller:<列表控制器: 0x7fc60dd844e0> should have parent view controller:<当前控制器: 0x7fc60dd2cb30> but actual parent is:<JXCategoryListContainerViewController: 0x7fc60dc678e0>'

2.列表控制器点击self.navigationController为nil
因为1的问题导致列表控制器中的self.navigationController为nil,且没办法通过添加到当前控制器来解决。

可以不使用懒加载,且将当前控制器作为属性传递给列表控制器就没有以上问题,但是有点僵硬!

嵌套互动处理

// 处理左右滑动与上下滑动的冲突
- (void)horizonScrollViewWillBeginScroll;
- (void)horizonScrollViewDidEndedScroll;

代码里面提供的处理左右互动和上下滑动冲突的方法,感觉有些生硬,作者有没有更优雅的处理方式?

其中一个分页的tableView的cell使用帧动画有问题

1、其中一个分页的tableView的cell使用帧动画有问题,
帧动画开始的时候,上下滑动的时候,帧动画会停止。不是cell复用的问题。
以上问题在使用最新的GKPageSmoothView的时候是ok的

2、但是[GKPageSmoothVie refreshHeaderView],默认会滑到顶部

3、GKPageSmoothVie没有提供“DidEndDragging”、“DidEndDecelerating”、“WillBeginDragging”等滚动相关方法

不走delegate

  • (UIView *)pageViewInPageScrollView:(GKPageScrollView *)pageScrollView

添加collectionview之后滑动很卡顿

在一个vc里同时添加了tableview和collectionview之后,滑动tableview正常,很顺畅,切换到collectionview之后上下滑动很卡顿,请问是什么原因?

滚动问题

你好,问一个问题。我想简写一个类似的两个scrollview滚动的功能,当mainscrollview滑动到底部,再滑动的时候,childscrollview就不滚动了,代理也不走了。你是怎么做到的啊,我看了你的代码没看到关键点。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.