| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214 |
- //
- // YBOnSaleView.m
- // YBVideo
- //
- // Created by YB007 on 2020/8/31.
- // Copyright © 2020 cat. All rights reserved.
- //
- #import "YBOnSaleView.h"
- @interface YBOnSaleView()<UITableViewDelegate,UITableViewDataSource,UIGestureRecognizerDelegate>
- {
- int _paging;
- NSString *_titlePre;
- }
- @property(nonatomic,assign)BOOL isAnchor;
- @property(nonatomic,strong)NSString *anchorID;
- @property(nonatomic,strong)UIView *bgView;
- @property(nonatomic,strong)UILabel *titleL;
- @property(nonatomic,strong)UIButton *addGoodsBtn;
- @property(nonatomic,strong)UITableView *tableView;
- @property(nonatomic,strong)NSMutableArray *dataArray;
- @end
- @implementation YBOnSaleView
- +(instancetype)showSaleWithAnchor:(BOOL)isAnchor andAnchorID:(NSString *)anchorID{
-
- YBOnSaleView *onSaleView = [[YBOnSaleView alloc]initWithFrame:CGRectMake(0, 0, _window_width, _window_height)];
- [[UIApplication sharedApplication].delegate.window addSubview:onSaleView];
- onSaleView.isAnchor = isAnchor;
- onSaleView.anchorID = anchorID;
- [onSaleView createUI];
-
- return onSaleView;
- }
- -(void)createUI {
-
- UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(dissmissView)];
- tap.delegate = self;
- [self addGestureRecognizer:tap];
-
- _titlePre = YZMsg(@"在售商品");
- _paging = 1;
- self.dataArray = [NSMutableArray array];
-
- _bgView = [[UIView alloc]initWithFrame:CGRectMake(0, _window_height-280-ShowDiff, _window_width, 280+ShowDiff)];
- _bgView.backgroundColor = UIColor.whiteColor;
- [self addSubview:_bgView];
-
- UIView *topNav = [[UIView alloc]initWithFrame:CGRectMake(0, 0, _window_width, 50)];
- topNav.backgroundColor = UIColor.whiteColor;
- [_bgView addSubview:topNav];
-
- _titleL = [[UILabel alloc]init];
- _titleL.font = SYS_Font(14);
- _titleL.text = [NSString stringWithFormat:@"%@ 0",_titlePre];
- _titleL.textColor =[UIColor blackColor];// RGB_COLOR(@"#323232", 1);
- [topNav addSubview:_titleL];
- [_titleL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.centerX.centerY.equalTo(topNav);
- }];
- UILabel *topLineL = [[UILabel alloc]init];
- topLineL.backgroundColor = RGB_COLOR(@"#f5f5f5", 1);
- [topNav addSubview:topLineL];
- [topLineL mas_makeConstraints:^(MASConstraintMaker *make) {
- make.width.bottom.centerX.equalTo(topNav);
- make.height.mas_equalTo(1);
- }];
-
- _addGoodsBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- [_addGoodsBtn setImage:[UIImage imageNamed:@"在售-加"] forState:0];
- [_addGoodsBtn setTitle:YZMsg(@"添加商品") forState:0];
- [_addGoodsBtn setTitleColor:Pink_Cor forState:0];
- _addGoodsBtn.titleLabel.font = SYS_Font(12);
- _addGoodsBtn.contentEdgeInsets = UIEdgeInsetsMake(5, 10, 5, 10);
- [_addGoodsBtn addTarget:self action:@selector(clickAddBtn) forControlEvents:UIControlEventTouchUpInside];
- [topNav addSubview:_addGoodsBtn];
- [_addGoodsBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.right.equalTo(topNav.mas_right).offset(-5);
- make.centerY.equalTo(topNav);
- }];
- [topNav layoutIfNeeded];
- _addGoodsBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -5, 0, 0);
- _addGoodsBtn.hidden = YES;
- if (_isAnchor) {
- _addGoodsBtn.hidden = NO;
- }
- [_bgView addSubview:self.tableView];
-
- [self pullData];
-
- }
- -(void)clickAddBtn {
- //10-26调整要求返回消失在售列表,要做展示操作只能手动再次点开[注:注释 [self dissmissView] 添加操作后会刷新]
- [self dissmissView];
- if (self.onSaleEvent) {
- self.onSaleEvent(OnSaleType_addGoods,@{});
- }
- }
- #pragma mark -
- -(void)pullData {
- if ([PublicObj checkNull:_anchorID]) {
- return;
- }
- [YBNetworking postWithUrl:@"Shop.getSale" Dic:@{@"liveuid":_anchorID,@"p":@(_paging)} Suc:^(int code, id info, NSString *msg) {
- [_tableView.mj_header endRefreshing];
- [_tableView.mj_footer endRefreshing];
- if (code == 0) {
- NSDictionary *infoDic = [info firstObject];
- _titleL.text = [NSString stringWithFormat:@"%@ %@",_titlePre,minstr([infoDic valueForKey:@"nums"])];;
- NSArray *listA = [NSArray arrayWithArray:[infoDic valueForKey:@"list"]];
- if (_paging == 1) {
- [_dataArray removeAllObjects];
- }
- if (listA.count <= 0) {
- [_tableView.mj_footer endRefreshingWithNoMoreData];
- }else{
- [_dataArray addObjectsFromArray:listA];
- }
- if (_dataArray.count <= 0 ) {
- [PublicView showTextNoData:_tableView text1:YZMsg(@"当前暂无在售商品") text2:YZMsg(@"点击右上角添加商品到购物车") centerY:0.5];
- }else {
- [PublicView hiddenTextNoData:_tableView];
- }
- [_tableView reloadData];
-
- }else {
- [MBProgressHUD showPop:msg];
- }
- } Fail:^(id fail) {
- [_tableView.mj_header endRefreshing];
- [_tableView.mj_footer endRefreshing];
- }];
-
-
- }
- #pragma mark - UITableViewDelegate、UITableViewDataSource
- - (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
- return nil;
- }
- - (CGFloat)tableView:(UITableView *)tableView estimatedHeightForFooterInSection:(NSInteger)section {
- return 0;
- }
- -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
- return 100;
- }
- -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
-
- return _dataArray.count;
- }
- -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
-
- YBOnSaleCell *cell = [YBOnSaleCell cellWithTab:tableView index:indexPath];
- cell.isAnchor = _isAnchor;
- NSDictionary *subDic = _dataArray[indexPath.row];
- cell.dataDic = subDic;
- YBWeakSelf;
- cell.saleCellEnvent = ^(OnSaleType ctrType) {
- weakSelf.onSaleEvent(ctrType,subDic);
- if (ctrType == OnSaleType_Default || ctrType == OnSaleType_Info) {
- [weakSelf dissmissView];
- }
- };
- return cell;
- }
- -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
- [self.tableView deselectRowAtIndexPath:indexPath animated:YES];
-
- }
- #pragma mark - set/get
- -(UITableView *)tableView {
- if (!_tableView) {
- _tableView = [[UITableView alloc]initWithFrame:CGRectMake(0,50, _window_width, _bgView.height-50)style:UITableViewStylePlain];
- _tableView.delegate = self;
- _tableView.dataSource = self;
- _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
- _tableView.backgroundColor = UIColor.whiteColor;
- YBWeakSelf;
- _tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
- _paging = 1;
- [weakSelf pullData];
- }];
- _tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
- _paging +=1;
- [weakSelf pullData];
- }];
- _tableView.contentInset = UIEdgeInsetsMake(0, 0, ShowDiff, 0);
- }
- return _tableView;
- }
- - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch;{
-
- if ([touch.view isDescendantOfView:self.bgView]) {
- return NO;
- }
- return YES;
- }
- -(void)dissmissView {
- [self.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)];
- [self removeFromSuperview];
- }
- @end
|