赞
踩
1、首先父类VC使用JXCategoryView代理<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
2、定义三个属性
@property (nonatomic, strong) NSArray *titleArr;// 标题数据
@property (nonatomic, strong) JXCategoryTitleView *categoryView;// 标题view
@property (nonatomic, strong) JXCategoryListContainerView *listContainerView;//listView
3、实例化属性
self.titleArr = @[@“图文素材”, @“视频素材”];
self.categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake((kSCREEN_WIDTH - 300)/2, kStatusBarHeight, 300, categoryView)]; self.categoryView.titles = self.titleArr; self.categoryView.titleSelectedColor = COLOR_Hex(0x2B61FF); self.categoryView.titleFont = kFONT(18); self.categoryView.titleSelectedFont = kFONT(18); self.categoryView.titleLabelZoomScrollGradientEnabled = NO; //self.categoryView.titleColorGradientEnabled = YES; [self.view addSubview:self.categoryView]; JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init]; lineView.indicatorWidth = JXCategoryViewAutomaticDimension; lineView.lineStyle = JXCategoryIndicatorLineStyle_Lengthen; lineView.verticalMargin = 5; lineView.indicatorColor = COLOR_Hex(0x2B61FF); self.categoryView.indicators = @[lineView]; self.listContainerView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self]; self.listContainerView.frame = CGRectMake(0, kStatusBarHeight + categoryView, kSCREEN_WIDTH, kSCREEN_HEIGHT - kStatusBarHeight - categoryView); [self.view addSubview:self.listContainerView]; //关联到categoryView self.categoryView.listContainer = self.listContainerView;
4、代理JXCategoryViewDelegate
(void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
//侧滑手势处理
self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
NSLog(@"%@", NSStringFromSelector(_cmd));
}
(void)categoryView:(JXCategoryBaseView *)categoryView didScrollSelectedItemAtIndex:(NSInteger)index {
NSLog(@"%@", NSStringFromSelector(_cmd));
}
5、代理JXCategoryListContainerViewDelegate
(id)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
GraphicMaterialVC *list = [[GraphicMaterialVC alloc] init];
if (index == 0) {
list.view.backgroundColor = Color_RedColor;
}else{
list.view.backgroundColor = Color_BlueColor;
}
return list;
}
(NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titleArr.count;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。