- 2.1 自定义展示已经选择的类目信息
- 2.1.1 空心圆和实心圆
- 2.1.2 展示已经选择的类目信息cell的核心代码ERPSelectCategoryInfoV
- 2.2 VM 的定义
- 2.3 类目的层级
- 2.4 类目Model的定义
- 3.1 处理点击事件及创建视图
- 3.1.1 处理点击已经选择类目事件
- 3.1.2 处理选择类目事件
- 3.1.3 处理点击确定事件 ,传递选择的信息到发布商品控制器
- 3.1.4 处理清除类目
- 3.2 Demo
- 4.1 设置tableView的点击事件优先级,低于cell的选中事件
- 4.2 选中类目 展示选中icon
- 4.3 怎么绘制实心圆和空心圆
- 商户进件之【经营类目】数据
- 商品类目测试数据
前言
下载地址:https://download.csdn.net/download/u011018979/19775162
文章地址:https://kunnan.blog.csdn.net/article/details/106553175 视频地址:https://live.csdn.net/v/167208 商品经营类目选择视图的应用场景: 1、发布商品时选择商品类目 2、商户进件选择经营类目 3、购物类app下单界面的商品类目筛选
在发布商品的时候,选择类目界面的要求视图分为上下部分。
1、 上部分:展示已经选择的类目信息,并清晰的从上倒下罗列对应层级类目信息(悬浮),点击类目的时候,下部分的展示的类目信息切换为同级类目信息供选择。 2、 下部分:展示可供选择的类目信息(支持滚动选中类目)
支持清空数据功能
在这里插入图片描述
原文地址
https://kunnan.blog.csdn.net/article/details/106553175
I、在当前视图中推出另外一个背景透明的视图控制器
UIModalPresentationOverCurrentContext
- A presentation style where the content is displayed over another view controller’s content
tmp.modalPresentationStyle = UIModalPresentationOverCurrentContext;
- 例子
#pragma mark - ******** 显示选择商品类目视图
/**
*/
- (void)gotoSelect_commodity_category{
NSLog(@"发布商品- 选择商品类目");
ERPSelect_commodity_categoryViewController *tmp = [ERPSelect_commodity_categoryViewController new];
[tmp view].backgroundColor = [UIColor colorWithRed:0 green:0 blue:0 alpha:0.5];
// 传递类目信息
tmp.viewModel.ProductForEditDto = self.viewModel.ProductForEditDto;
// 设置modalPresentationStyle = UIModalPresentationOverCurrentContext
tmp.modalPresentationStyle =UIModalPresentationOverCurrentContext;//如果在配置表配置好了OverCurrentContextClasss,这里就可注释
[self.navigationController presentViewController:tmp animated:YES completion:^{
}];
}
全局配置app的modalPresentationStyle
代码语言:javascript复制采用hook实现,具体请看这篇文章:https://blog.csdn.net/z929118967/article/details/104477314
// 1、配置app 模态的modalPresentationStyle
- (NSMutableArray *)OverCurrentContextClasss{
if(_OverCurrentContextClasss == nil){
_OverCurrentContextClasss = [NSMutableArray array];
//.. 发布商品- 选择商品类目
[_OverCurrentContextClasss addObject:@"ERPSelect_commodity_categoryViewController"];
}
return _OverCurrentContextClasss;
}
//2、判断
[QCTSession.shareQCTSession.OverCurrentContextClasss containsObject:NSStringFromClass(viewControllerToPresent.class)])
{
return UIModalPresentationOverCurrentContext;
}
II、自定义视图
2.1 自定义展示已经选择的类目信息
- cell内容:右侧是实心和空心圆形icon 一季连接线,右侧是类目名称
在这里插入图片描述
2.1.1 空心圆和实心圆
- 空心圆
- (void)layoutSubviews{
[super layoutSubviews];
//Base style for 椭圆 1 拷贝
UIView *style = self;
style.layer.borderColor = [[UIColor colorWithRed:243.0f/255.0f green:39.0f/255.0f blue:52.0f/255.0f alpha:1.0f] CGColor];
style.layer.borderWidth = 1;
style.alpha = 1;
[self layoutIfNeeded];
self.layer.cornerRadius = self.width*0.5;
}
- 实心圆
- (void)layoutSubviews{
[super layoutSubviews];
//Base style for 椭圆 1 拷贝
UIView *style = self;
style.layer.backgroundColor = [[UIColor colorWithRed:243.0f/255.0f green:39.0f/255.0f blue:52.0f/255.0f alpha:1.0f] CGColor];
style.alpha = 1;
[self layoutIfNeeded];
self.layer.cornerRadius = self.width*0.5;
}
2.1.2 展示已经选择的类目信息cell的核心代码ERPSelectCategoryInfoV
- ERPSelectCategoryInfoV.h