//CollectionController
|
|
//
|
// MineCollectController.m
|
// PapayaPlayerDaqo
|
//
|
// Created by 味口 on 16/8/15.
|
// Copyright (c) 2016年 wgj. All rights reserved.
|
//
|
|
#import "CollectionController.h"
|
#import "NoteCell.h"
|
#import "UIImageView+YTH.h"
|
#import "YTHsharedManger.h"
|
#import "XYRDetailViewController.h"
|
#import "discoverGoodsDetailViewController.h"
|
|
@interface CollectionController ()<UITableViewDataSource,UITableViewDelegate>{
|
// HMSegmentedControl *segmentedControl;
|
|
UITableView * mytableview;
|
|
UIView *prompt; //没有数据时,提示视图
|
|
UIView *allSelAndDelView; //删除视图
|
UIButton *deleBtn; //导航栏删除按钮
|
UIButton *deleteBut; //删除按钮
|
UIButton *allSelectBut; //全选
|
|
NSInteger videoPage; //请求第几页视频收藏数据
|
NSInteger goodsPage; //请求第几页商品收藏数据
|
|
NSMutableArray *_videoData; //视频收藏数据
|
NSMutableArray *_goodsData; //商品收藏数据
|
NSMutableArray *_editDataAry; //需要删除的数据
|
|
BOOL WhetherChooseGoodsCollection; // NO 左(视频收藏) YES 右(商品收藏)
|
}
|
@end
|
|
@implementation CollectionController
|
|
- (void)viewDidLoad {
|
[super viewDidLoad];
|
|
videoPage = 1;
|
goodsPage = 1;
|
|
[self initScene];
|
}
|
- (void)viewWillAppear:(BOOL)animated{
|
// if (_videoData.count == 0) {
|
// videoPage = 1;
|
// }
|
[self getVideoDataResuse:1];
|
|
}
|
|
-(void)initScene{
|
//设置背景色
|
self.view.backgroundColor = kGlobalBackgroundColor;
|
|
//设置导航栏
|
[self createNavgationBar];
|
|
//创建选项
|
// [self createSegmentedControl];
|
|
//创建列表
|
[self createTableView];
|
|
//创建删除操作视图
|
[self CreateOperatingView];
|
|
//没有数据时的提示视图
|
[self promptView];
|
|
//加载视频收藏第一页的数据
|
[self getVideoDataResuse:1];
|
}
|
|
/**
|
设置导航栏
|
*/
|
-(void)createNavgationBar{
|
self.navigationItem.title = @"我的收藏";
|
self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName:[UIColor whiteColor],NSFontAttributeName:[UIFont systemFontOfSize:18]};
|
|
//返回按钮
|
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
|
[button setImage:[[UIImage imageNamed:@"详情页面返回"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
[button addTarget:self action:@selector(back:)
|
forControlEvents:UIControlEventTouchUpInside];
|
button.frame = CGRectMake(0, 0, 32, 32);
|
UIBarButtonItem *iconBarItem=[[UIBarButtonItem alloc] initWithCustomView:button];
|
|
//删除按钮
|
deleBtn = [UIButton buttonWithType:UIButtonTypeCustom];
|
|
deleBtn.frame = CGRectMake(0, 0, 40, 44);
|
//未选中状态
|
[deleBtn setTitle:@"" forState:UIControlStateNormal];
|
[deleBtn setImage:[[UIImage imageNamed:@"删除"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
//选中状态
|
[deleBtn setTitle:@"取消" forState:UIControlStateSelected];
|
|
deleBtn.titleLabel.font = [UIFont systemFontOfSize:15];
|
deleBtn.titleLabel.textAlignment = NSTextAlignmentCenter;
|
[deleBtn addTarget:self action:@selector(deletebutton:) forControlEvents:UIControlEventTouchUpInside];
|
UIBarButtonItem *deleteBarItem=[[UIBarButtonItem alloc] initWithCustomView:deleBtn];
|
|
//添加按钮到导航栏
|
self.navigationItem.leftBarButtonItem = iconBarItem;
|
self.navigationItem.rightBarButtonItem = deleteBarItem;
|
}
|
|
///**
|
// 创建选项栏
|
// */
|
//-(void)createSegmentedControl{
|
// segmentedControl = [[HMSegmentedControl alloc] initWithSectionTitles:@[@"影视收藏", @"商品收藏"]];
|
// NSInteger height = 64;
|
// if (KIsiPhoneX) {
|
// height = 84;
|
// }
|
// [segmentedControl setFrame:CGRectMake(0, height, KScreenW, 48)];
|
// segmentedControl.selectionIndicatorHeight = 4.0f;
|
// segmentedControl.backgroundColor = KGlobalLightGreyColor_255;
|
// segmentedControl.titleTextAttributes = @{NSForegroundColorAttributeName : kGlobalDeepGreyColor};
|
// segmentedControl.selectionIndicatorColor = kGlobalYellowColor;
|
// segmentedControl.selectionStyle = HMSegmentedControlSelectionStyleTextWidthStripe;
|
// segmentedControl.selectedSegmentIndex = 0;
|
// segmentedControl.selectionIndicatorLocation = HMSegmentedControlSelectionIndicatorLocationDown;
|
// segmentedControl.shouldAnimateUserSelection = YES;
|
// segmentedControl.titleTextAttributes = @{NSFontAttributeName:[UIFont systemFontOfSize:15]};
|
// [segmentedControl addTarget:self action:@selector(segmentedControlChangedValue:) forControlEvents:UIControlEventValueChanged];
|
//
|
// //选项下面的横线
|
// UILabel *Line = [[UILabel alloc]initWithFrame:CGRectMake(0, 48, KScreenW, 1)];
|
// Line.backgroundColor = kGlobaLineColor;
|
// [segmentedControl addSubview:Line];
|
//
|
// //选项中间的分割线
|
// UILabel *Line1 = [[UILabel alloc]initWithFrame:CGRectMake(KScreenW / 2 - 0.5 , 10 ,1, 28)];
|
// Line1.backgroundColor = kGlobaLineColor;
|
// [segmentedControl addSubview:Line1];
|
//
|
//// [self.view addSubview:segmentedControl];
|
//}
|
|
/**
|
创建列表
|
*/
|
-(void)createTableView{
|
NSInteger height = 117 - 48;
|
if (KIsiPhoneX) {
|
height = 137 - 48 ;
|
}
|
mytableview = [[UITableView alloc]initWithFrame:CGRectMake(0,0 , KScreenW, KScreenH ) style:UITableViewStylePlain];
|
mytableview.delegate = self;
|
mytableview.dataSource = self;
|
mytableview.backgroundColor = kGlobalBackgroundColor;
|
mytableview.showsVerticalScrollIndicator = NO;
|
mytableview.separatorStyle = UITableViewCellSeparatorStyleNone;
|
//注册收藏视频的cell
|
[mytableview registerNib:[UINib nibWithNibName:@"NoteCell" bundle:nil] forCellReuseIdentifier:@"NoteCell"];
|
|
//下拉刷新方法
|
mytableview.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
|
|
//上拉加载更多
|
mytableview.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
|
|
[self.view addSubview:mytableview];
|
}
|
|
/**
|
创建操作视图(全选,删除)
|
*/
|
-(void)CreateOperatingView{
|
//盛放全选按钮和删除按钮的视图
|
CGFloat height = 40;
|
if (KIsiPhoneX) {
|
height = 60;
|
}
|
allSelAndDelView = [[UIView alloc] initWithFrame:CGRectMake(0, KScreenH-height, KScreenW, 40)];
|
allSelAndDelView.backgroundColor = [UIColor whiteColor];
|
//默认隐藏,只有用户点击编辑按钮时,才会出现
|
allSelAndDelView.hidden = YES;
|
|
//全选按钮和删除按钮的分割线
|
UIView *link = [[UIView alloc] initWithFrame:CGRectMake(KScreenW/2, 5, 1, 30)];
|
link.backgroundColor = kGlobalLightGreyColor_210;
|
[allSelAndDelView addSubview:link];
|
//分割线
|
UIView *link1 = [[UIView alloc] initWithFrame:CGRectMake(KScreenW-40, 5, KScreenH, 1)];
|
link.backgroundColor = kGlobalLightGreyColor_210;
|
[allSelAndDelView addSubview:link1];
|
|
//删除按钮
|
deleteBut = [UIButton buttonWithType:UIButtonTypeSystem];
|
deleteBut.frame = CGRectMake(KScreenW*0.525, 0, KScreenW*0.45, 38);
|
[deleteBut setBackgroundColor:[UIColor lightTextColor]];
|
[deleteBut setTitle:@"删除" forState:UIControlStateNormal];
|
[deleteBut setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
|
[deleteBut addTarget:self action:@selector(deleteSelectDataClick) forControlEvents:UIControlEventTouchUpInside];
|
[allSelAndDelView addSubview:deleteBut];
|
|
//全选按钮
|
allSelectBut = [UIButton buttonWithType:UIButtonTypeSystem];
|
allSelectBut.frame = CGRectMake(KScreenW*0.025, 0, KScreenW*0.45, 38);
|
[allSelectBut setBackgroundColor:[UIColor lightTextColor]];
|
[allSelectBut setTitle:@"全选" forState:UIControlStateNormal];
|
[allSelectBut setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
|
[allSelectBut addTarget:self action:@selector(allSelectOrCancelClick) forControlEvents:UIControlEventTouchUpInside];
|
[allSelAndDelView addSubview:allSelectBut];
|
|
[self.view addSubview:allSelAndDelView];
|
}
|
|
/**
|
没有数据时的提示视图
|
*/
|
-(void)promptView{
|
prompt = [[UIView alloc]initWithFrame:CGRectMake((self.view.frame.size.width - 155) /2, (self.view.frame.size.height - 190) /2, 155, 190)];
|
[prompt setHidden:YES];
|
|
UIImageView *buwanImag= [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"登录娃娃"]];
|
buwanImag.frame = CGRectMake((prompt.frame.size.width - 102) / 2, 0, 102, 130);
|
[prompt addSubview:buwanImag];
|
|
UIImageView *tipMessage= [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"收藏记录提示"]];
|
tipMessage.frame = CGRectMake(0, buwanImag.frame.size.height + buwanImag.frame.origin.y + 18, 155, 42);
|
[prompt addSubview:tipMessage];
|
|
[self.view addSubview:prompt];
|
}
|
|
|
/**
|
下拉刷新方法
|
*/
|
- (void)loadNewData{
|
videoPage = 1;
|
[self getVideoDataResuse:videoPage];
|
}
|
|
/**
|
上拉加载更多视图
|
*/
|
- (void)loadMoreData{
|
|
//收藏的视频
|
[self getVideoDataResuse:videoPage];
|
}
|
|
/**
|
选择器切换时触发的函数
|
*/
|
- (void)segmentedControlChangedValue:(HMSegmentedControl *)segmentedControls {
|
[prompt setHidden:YES];
|
if(segmentedControls.selectedSegmentIndex==0){
|
WhetherChooseGoodsCollection=NO;
|
}else{
|
WhetherChooseGoodsCollection=YES;
|
}
|
mytableview.editing = NO;
|
[self editNO];
|
//重新获取数据源
|
[mytableview.mj_header beginRefreshing];
|
//重新加载数据
|
[mytableview reloadData];
|
}
|
|
|
/**
|
请求数据方法
|
|
@param pageNumber 页数
|
*/
|
- (void)getVideoDataResuse:(NSInteger)pageNumber{
|
[SVProgressHUD showWithStatus:@"加载中"];
|
[[YTHNetInterface startInterface] getCollectedVideoWithUid:[YTHsharedManger startManger].Uid withSystem:@"1" withPage:[NSString stringWithFormat:@"%ld",(long)pageNumber] withBlock:^(BOOL isSuccessful, id result, NSString *error) {
|
if (isSuccessful) {
|
NSDictionary *dic =(NSDictionary *)result;
|
if (!_videoData) {
|
_videoData = [[NSMutableArray alloc] initWithCapacity:0];
|
}
|
if (pageNumber == 1) {
|
[_videoData removeAllObjects];
|
}
|
|
NSArray *arr = [[dic objectForKey:@"Data"] objectForKey:@"data"];
|
for (int i =0; i<arr.count; i++) {
|
[_videoData addObject:[arr objectAtIndex:i]];
|
}
|
if ([arr count]>0){
|
++videoPage;
|
}
|
//取消编辑状态
|
mytableview.editing = NO;
|
[self editNO];
|
|
[mytableview reloadData];
|
if(_videoData.count>0){
|
[prompt setHidden:YES];
|
}else{
|
[prompt setHidden:NO];
|
}
|
[mytableview.mj_footer endRefreshing];
|
if (_videoData.count < 20) {
|
[mytableview.mj_footer endRefreshingWithNoMoreData];
|
}
|
if (_videoData.count < 3) {
|
mytableview.mj_footer.hidden = YES;
|
}
|
}else{
|
[mytableview.mj_footer endRefreshing];
|
NSLog(@"%@",error);
|
if ([error compare:@"似乎已断开与互联网的连接。"] == 0) {
|
[self autoDisappearAlertTime:1 msg:@"网络不可用,请检查网络"];
|
}
|
}
|
[SVProgressHUD dismiss];
|
}];
|
[mytableview.mj_header endRefreshing];
|
|
}
|
|
|
/**
|
取消编辑状态
|
*/
|
- (void)editNO{
|
//改变导航栏删除按钮的样式
|
[deleBtn setSelected:NO];
|
[deleBtn setImage:[[UIImage imageNamed:@"删除"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
|
//添加上拉刷新和下拉加载更多
|
//下拉刷新方法
|
mytableview.mj_header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(loadNewData)];
|
//上拉加载更多
|
mytableview.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingTarget:self refreshingAction:@selector(loadMoreData)];
|
|
[allSelAndDelView setHidden:YES];
|
}
|
|
/**
|
* 全选
|
*/
|
-(void)allSelectOrCancelClick{
|
long num;//当前显示的收藏数量,仅限从服务器已近获取的
|
NSArray *nowData;
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
num=(long)[_goodsData count];
|
nowData=_goodsData;
|
}else{
|
//收藏的视频
|
num=(long)[_videoData count];
|
nowData=_videoData;
|
}
|
//清理所有添加的
|
[_editDataAry removeAllObjects];
|
|
if ([allSelectBut.titleLabel.text isEqualToString:@"全选"]){
|
//全选状态
|
[allSelectBut setTitle:@"取消全选" forState:UIControlStateNormal];
|
[deleteBut setTitle:[NSString stringWithFormat:@"删除(%ld)",num] forState:UIControlStateNormal];
|
|
for (int i = 0 ; i < num ; ++i){
|
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
|
[mytableview selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
|
//将全部数据加入
|
[_editDataAry addObject:[nowData objectAtIndex:i]];
|
}
|
}else{
|
//取消全选
|
[allSelectBut setTitle:@"全选" forState:UIControlStateNormal];
|
[deleteBut setTitle:[NSString stringWithFormat:@"删除"] forState:UIControlStateNormal];
|
for (int i = 0 ; i <num ; ++i){
|
NSIndexPath *indexPath = [NSIndexPath indexPathForRow:i inSection:0];
|
[mytableview deselectRowAtIndexPath:indexPath animated:NO];
|
}
|
}
|
}
|
|
|
/**
|
删除收藏的商品或者视频
|
*/
|
-(void)deleteSelectDataClick{
|
[SVProgressHUD showWithStatus:@"取消收藏中"];
|
if (_editDataAry == nil || _editDataAry.count<1) {
|
[SVProgressHUD showErrorWithStatus:@"请选择"];
|
return;
|
}
|
[deleBtn setSelected:NO];
|
[deleBtn setImage:[[UIImage imageNamed:@"删除"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
allSelAndDelView.hidden = YES;
|
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
NSMutableString *goodsIds = [[NSMutableString alloc] init];
|
|
//取消收藏的商品需要传入商品的Id,多个商品Id用逗号隔开(如下)
|
for (int i = 0 ; i < _editDataAry.count; ++i){
|
NSDictionary * dic = [_editDataAry objectAtIndex:i];
|
[goodsIds appendString:[NSString stringWithFormat:@"%@,",[dic objectForKey:@"Itemid"]]];
|
}
|
|
[[YTHNetInterface startInterface] cancelCollectWithUid:[YTHsharedManger startManger].Uid WithSystem:@"1" withId:goodsIds withBlock:^(BOOL isSuccessful, id result, NSString *error) {
|
if (isSuccessful) {
|
mytableview.editing = NO;
|
[self editNO];
|
goodsPage = 1;
|
// [self getGoodsDataResuse:goodsPage];
|
}else{
|
[SVProgressHUD showErrorWithStatus:@"取消收藏失败!"];
|
}
|
}];
|
|
}else{
|
//收藏的视频
|
NSMutableString *movieIds = [[NSMutableString alloc] init];
|
NSMutableString *ThirdTypes=[[NSMutableString alloc] init];
|
|
//取消收藏的视频需要传入两个参数,一个是movieIds,一个是ThirdTypes,多个视频用逗号隔开(如下)
|
for (int i = 0 ; i < _editDataAry.count; ++i){
|
NSDictionary * dic = [_editDataAry objectAtIndex:i];
|
[movieIds appendString:[NSString stringWithFormat:@"%@,",[dic objectForKey:@"Id"]]];
|
[ThirdTypes appendString:[NSString stringWithFormat:@"%@,",[dic objectForKey:@"ThirdType"]]];
|
}
|
|
[[YTHNetInterface startInterface] getScoreCollectWithUid:[YTHsharedManger startManger].Uid withId:movieIds withThirdType:ThirdTypes WithType:@"0" withSystem:@"1" withBlock:^(BOOL isSuccessful, id result, NSString *error) {
|
if (isSuccessful) {
|
mytableview.editing = NO;
|
[self editNO];
|
videoPage = 1;
|
[self getVideoDataResuse:videoPage];
|
}else{
|
[SVProgressHUD showErrorWithStatus:@"取消收藏失败!"];
|
}
|
}];
|
}
|
}
|
|
#pragma mark -UITableViewDataSource
|
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
return [_goodsData count];
|
}else{
|
//收藏的视频
|
return [_videoData count];
|
}
|
}
|
|
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
|
NoteCell * cell = [tableView dequeueReusableCellWithIdentifier:@"NoteCell"];
|
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
NSMutableDictionary *dic = [[[_goodsData objectAtIndex:indexPath.row] objectForKey:@"Item"] objectForKey:@"Item"];
|
|
//商品图片
|
[cell.image setYthImageWithURL:[dic objectForKey:@"Pict_url"] placeholderImage:[UIImage imageNamed:@"默认加载图片"]];
|
|
//商品名称
|
NSString * str = [dic objectForKey:@"Title"];
|
if ( [self autoHeiWithString:str WithWidth:cell.name.frame.size.width]){
|
str = [str stringByAppendingString:@"\n "];
|
}
|
cell.name.text = str;
|
//收藏商品和收藏视频复用的同一个cell,但是比例不一样,视频是16:10,商品是1:1,两个图片的高度都是75,通过调整imageWidth,适配图片
|
cell.imageWidth.constant=75;
|
|
//商品价格
|
cell.collect.text =[NSString stringWithFormat:@" ¥%@",[dic objectForKey:@"Zk_final_price"]];
|
}else{
|
//收藏的视频
|
NSMutableDictionary *dic = [_videoData objectAtIndex:indexPath.row];
|
|
//视频图片
|
[cell.image setYthImageWithURL:[dic objectForKey:@"Hpicture"] placeholderImage:[UIImage imageNamed:@"默认加载图片"]];
|
|
//视频名称
|
NSString * str = [dic objectForKey:@"Name"];
|
if ( [self autoHeiWithString:str WithWidth:cell.name.frame.size.width]){
|
str = [str stringByAppendingString:@"\n "];
|
}
|
cell.name.text = str;
|
//收藏商品和收藏视频复用的同一个cell,但是比例不一样,视频是16:10,商品是1:1,两个图片的高度都是75,通过调整imageWidth,适配图片
|
cell.imageWidth.constant=75/10*16;
|
|
//视频长度
|
cell.collect.text = [dic objectForKey:@"Tag"];
|
}
|
return cell;
|
}
|
|
#pragma mark -UITableViewDelegate
|
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
|
return 90;
|
}
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
|
return CGFLOAT_MIN;
|
}
|
|
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
|
return 5;
|
}
|
|
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
|
if (mytableview.editing == NO) {
|
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
discoverGoodsDetailViewController *goodsDetailVC=[[discoverGoodsDetailViewController alloc] init];
|
goodsDetailVC.goodsId=[_goodsData[indexPath.row] objectForKey:@"Itemid"];
|
goodsDetailVC.goodspic_url=[[[_goodsData[indexPath.row] objectForKey:@"Item"] objectForKey:@"Item"] objectForKey:@"Pict_url"];
|
[self.navigationController pushViewController:goodsDetailVC animated:YES];
|
}else{
|
//收藏的视频
|
NSDictionary *dic = _videoData[indexPath.row];
|
XYRDetailViewController *play = [[XYRDetailViewController alloc] init];
|
[YTHsharedManger startManger].preController = self;
|
play.modalPresentationStyle = 0;
|
play.Model = [XYRVideoInfoModel yy_modelWithDictionary:dic];
|
[self presentViewController:play animated:YES completion:^{
|
|
}];
|
}
|
}else{
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
[_editDataAry addObject:[_goodsData objectAtIndex:indexPath.row]];
|
if(_editDataAry.count==_goodsData.count){
|
[allSelectBut setTitle:@"取消全选" forState:UIControlStateNormal];
|
}
|
}else {
|
//收藏的视频
|
[_editDataAry addObject:[_videoData objectAtIndex:indexPath.row]];
|
if(_editDataAry.count==_videoData.count){
|
[allSelectBut setTitle:@"取消全选" forState:UIControlStateNormal];
|
}
|
}
|
|
[deleteBut setTitle:_editDataAry.count==0?@"删除":[NSString stringWithFormat:@"删除(%lu)",(unsigned long)_editDataAry.count] forState:UIControlStateNormal];
|
}
|
}
|
|
#pragma mark 取消选择的一行
|
-(void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath{
|
if (mytableview.editing == YES){
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
[_editDataAry removeObject:[_goodsData objectAtIndex:indexPath.row]];
|
}else{
|
//收藏的视频
|
[_editDataAry removeObject:[_videoData objectAtIndex:indexPath.row]];
|
}
|
[allSelectBut setTitle:@"全选" forState:UIControlStateNormal];
|
[deleteBut setTitle:_editDataAry.count==0?@"删除":[NSString stringWithFormat:@"删除(%lu)",(unsigned long)_editDataAry.count] forState:UIControlStateNormal];
|
}
|
}
|
|
#pragma mark 允许可编辑的行
|
-(BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
|
return YES;
|
}
|
|
//删除样式
|
-(UITableViewCellEditingStyle)tableView:(UITableView *)tableView editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath{
|
return UITableViewCellEditingStyleDelete | UITableViewCellEditingStyleInsert;
|
}
|
|
/**
|
退出收藏页面
|
|
@param sender 返回按钮
|
*/
|
-(void)back:(id)sender{
|
[self.navigationController popViewControllerAnimated:YES];
|
}
|
|
-(void)deletebutton:(id)sender{
|
[deleteBut setTitle:[NSString stringWithFormat:@"删除"] forState:UIControlStateNormal];
|
|
if (mytableview.editing) {
|
[mytableview setEditing:NO];
|
[deleBtn setSelected:NO];
|
[deleBtn setImage:[[UIImage imageNamed:@"删除"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
allSelAndDelView.hidden = YES;
|
[allSelectBut setTitle:@"全选" forState:UIControlStateNormal];
|
[self editNO];
|
}else{
|
NSArray *tempArr;
|
//确保删除收藏列表的缓存数组为空
|
if(!_editDataAry){
|
_editDataAry=[NSMutableArray arrayWithCapacity:0];
|
}else{
|
[_editDataAry removeAllObjects];
|
}
|
|
if (WhetherChooseGoodsCollection) {
|
//收藏的商品
|
tempArr=_goodsData;
|
}else{
|
//收藏的视频
|
tempArr=_videoData;
|
}
|
|
//移除上拉刷新和下拉加载更多
|
//下拉刷新方法
|
mytableview.mj_header = nil;
|
//上拉加载更多
|
mytableview.mj_footer = nil;
|
|
if (tempArr.count !=0 ) {
|
[mytableview setEditing:YES];
|
[deleBtn setSelected:YES];
|
[deleBtn setImage:[[UIImage imageNamed:@""] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal] forState:UIControlStateNormal];
|
allSelAndDelView.hidden = NO;
|
}else{
|
allSelAndDelView.hidden = YES;
|
}
|
}
|
}
|
|
/**
|
* 计算字符串高度
|
*/
|
-(BOOL)autoHeiWithString:(NSString*)str WithWidth:(float)width{
|
UILabel *lb = [UILabel new];
|
lb.text = str;
|
lb.font = [UIFont systemFontOfSize:15];
|
lb.numberOfLines = 0;
|
CGSize size = [lb sizeThatFits:CGSizeMake(width, MAXFLOAT)];
|
if(size.height > 19){
|
return NO;
|
}else{
|
return YES;
|
}
|
}
|
@end
|