看JXCategoryView源码之collectionView

2020-09-28  本文已影响0人  梁森的简书
image.png
github地址:https://github.com/pujiaxin33/JXCategoryView

源码中的几个类

TitleViewController

继承自ContentBaseViewController

ContentBaseViewController

设置展示的VC和上方的分类视图显示的内容
添加子视图JXCategoryListContainerView

JXCategoryListContainerView

用来装所有的控制器
添加了一个JXCategoryListContainerViewController控制器
再在此控制器上添加一个UICollectionView,在此UICollectionView上添加子控制器的根视图(个人觉得用UICollectionView更好,有复用机制)

ListViewController

最终显示的控制器
遵守了JXCategoryListContentViewDelegate代理
实现了listView协议,返回自身的根视图。
(个人觉得不必再让我们自定义的VC遵守协议了,直接添加我们自定义的VC的根视图)

收获

疑问:怎么将自控制器放到_validListDict中的?

list = [self.delegate listContainerView:self initListForIndex:index];
    if ([list isKindOfClass:[UIViewController class]]) {
        [self.containerVC addChildViewController:(UIViewController *)list];
    }
    _validListDict[@(index)] = list;

JXCategoryListContainerView通过代理实现的代理的方法

我们需要做的

1.创建一个类似ContentBaseViewController的控制器用来设置JXCategoryTitleView对象
2.创建需要添加的所有自控制器

上一篇 下一篇

猜你喜欢

热点阅读