Commit 4650a3d1 authored by zhu's avatar zhu

购物车

parent 144b8687
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
#import "FootSubView.h" #import "FootSubView.h"
#import "SeceneLibraryView.h" #import "SeceneLibraryView.h"
#import "ProductLibraryView.h" #import "ProductLibraryView.h"
#import "ShoppingView.h"
@protocol FollowHeartViewAddpicturedelegate <NSObject> @protocol FollowHeartViewAddpicturedelegate <NSObject>
@required @required
...@@ -28,9 +29,11 @@ ...@@ -28,9 +29,11 @@
@property (nonatomic,strong) FootSubView *footSubView; @property (nonatomic,strong) FootSubView *footSubView;
@property (nonatomic,strong) SeceneLibraryView *seceneLibraryView; @property (nonatomic,strong) SeceneLibraryView *seceneLibraryView;
@property (nonatomic,strong) ProductLibraryView *productLibraryView; @property (nonatomic,strong) ProductLibraryView *productLibraryView;
@property (nonatomic,strong) ShoppingView *shoppingView;
@property (nonatomic,strong) UIImageView *backGroundImageView; @property (nonatomic,strong) UIImageView *backGroundImageView;
@property (nonatomic,strong) UIButton *zoomButton; @property (nonatomic,strong) UIButton *zoomButton;
@property (nonatomic,strong) UIButton *temporaryBtn; @property (nonatomic,strong) UIButton *temporaryBtn;
@property (nonatomic,strong) NSMutableArray *productModelArray;
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
} }
-(void)configSubView -(void)configSubView
{ {
self.productModelArray=[[NSMutableArray alloc]init];
self.backGroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"backView.png"]]; self.backGroundImageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"backView.png"]];
self.backGroundImageView.frame=CGRectMake(0, 0, ScreenWidth, ScreenHeight); self.backGroundImageView.frame=CGRectMake(0, 0, ScreenWidth, ScreenHeight);
[self.view addSubview:self.backGroundImageView]; [self.view addSubview:self.backGroundImageView];
...@@ -51,7 +52,7 @@ ...@@ -51,7 +52,7 @@
break; break;
case 101: //购物车 case 101: //购物车
{ {
[self addShoppingView];
} }
break; break;
case 102: //分享 case 102: //分享
...@@ -98,11 +99,12 @@ ...@@ -98,11 +99,12 @@
self.backGroundImageView.image=image; self.backGroundImageView.image=image;
} }
//产品附图回调 //产品附图回调
- (void)resetSubProductImage:(UIImage*)image - (void)resetSubProductImage:(UIImage*)image productModel:(NSMutableArray *)productModel
{ {
ImageCropperView *cropper=[[ImageCropperView alloc]initWithFrame:CGRectMake(400, 300, 300, 300)]; ImageCropperView *cropper=[[ImageCropperView alloc]initWithFrame:CGRectMake(400, 300, 300, 300)];
cropper.layer.borderWidth = 1.0; // cropper.layer.borderWidth = 1.0;
cropper.layer.borderColor = [UIColor blueColor].CGColor; // cropper.layer.borderColor = [UIColor blueColor].CGColor;
cropper.image = image; cropper.image = image;
[self.view addSubview:cropper]; [self.view addSubview:cropper];
} }
...@@ -112,9 +114,9 @@ ...@@ -112,9 +114,9 @@
[self.footSubView addFootSubViewImage:image]; [self.footSubView addFootSubViewImage:image];
} }
//产品库选图回调 //产品库选图回调
- (void)addProductImage:(UIImage *)image - (void)addProductImage:(UIImage *)image productModel:(TOGoodsEntity *)productModel
{ {
[self.rightSubView addRightSubViewImage:image]; [self.rightSubView addRightSubViewImage:image productModel:productModel];
} }
//全屏 //全屏
-(void)setViewAnimations:(UIButton *)sender -(void)setViewAnimations:(UIButton *)sender
...@@ -172,6 +174,16 @@ ...@@ -172,6 +174,16 @@
self.productLibraryView.delegate=self; self.productLibraryView.delegate=self;
[self.view addSubview:self.productLibraryView.view]; [self.view addSubview:self.productLibraryView.view];
} }
//添加购物车
-(void)addShoppingView
{
self.shoppingView=[[ShoppingView alloc]init];
self.shoppingView.view.backgroundColor=[UIColor clearColor];
self.shoppingView.productModelArray=self.productModelArray;
// self.shoppingView.delegate=self;
[self.view addSubview:self.shoppingView.view];
}
- (void)didReceiveMemoryWarning { - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; [super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.
......
...@@ -11,20 +11,19 @@ ...@@ -11,20 +11,19 @@
@interface ProductCollectionPictureCell : UICollectionViewCell @interface ProductCollectionPictureCell : UICollectionViewCell
@property (strong, nonatomic) UIImageView *productImageView; @property (strong, nonatomic) UIImageView *productImageView;
/** //产品参数
* 产品参数
*/
@property (strong, nonatomic) UILabel *productParameter; @property (strong, nonatomic) UILabel *productParameter;
/** // 产品价格
* 产品价格
*/
@property (strong, nonatomic) UILabel *productPrice; @property (strong, nonatomic) UILabel *productPrice;
// 产品描述
@property (strong, nonatomic) UILabel *productDesce;
@property (strong, nonatomic) TOGoodsEntity *productModel;
/**
* 加入购物车
*/
@property (strong, nonatomic) UIButton *addShoppingbags;
@end @end
...@@ -12,9 +12,23 @@ ...@@ -12,9 +12,23 @@
-(id)initWithFrame:(CGRect)frame{ -(id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
if (self) { if (self) {
self.productImageView =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height)]; self.productImageView =[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, frame.size.width, 2*frame.size.height/3)];
self.productImageView.image = [UIImage imageNamed:@"05产品库-详情_03"];
[self addSubview:self.productImageView]; [self addSubview:self.productImageView];
// 产品描述
self.productDesce=[[UILabel alloc]initWithFrame:CGRectMake(0,2*frame.size.height/3, frame.size.width, frame.size.height/6)];
self.productDesce.text=@"名称描述";
self.productDesce.textAlignment=NSTextAlignmentCenter;
[self addSubview: self.productDesce];
// 产品参数
self.productParameter=[[UILabel alloc]initWithFrame:CGRectMake(0, 2*frame.size.height/3+ frame.size.height/6, frame.size.width, frame.size.height/6)];
self.productParameter.textAlignment=NSTextAlignmentCenter;
[self addSubview: self.productParameter];
// 产品价格
self.productPrice=[[UILabel alloc]initWithFrame:CGRectMake(0, 2*frame.size.height/3+ 2*frame.size.height/6, frame.size.width, frame.size.height/6)];
self.productPrice.textAlignment=NSTextAlignmentCenter;
[self addSubview: self.productPrice];
self.productModel=[[TOGoodsEntity alloc]init];
} }
return self; return self;
} }
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
@required @required
//回调 //回调
- (void)addProductImage:(UIImage *)image; - (void)addProductImage:(UIImage *)image productModel:(TOGoodsEntity*)productModel;
@end @end
...@@ -28,22 +28,22 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout> ...@@ -28,22 +28,22 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
@property (nonatomic,strong) UIButton *fengGeBtn; @property (nonatomic,strong) UIButton *fengGeBtn;
@property (nonatomic,strong) UIButton *leiXingBtn; @property (nonatomic,strong) UIButton *leiXingBtn;
@property (nonatomic,strong) NSMutableArray *nameData; @property (nonatomic,strong) NSMutableArray *nameData;
@property (nonatomic,strong) NSArray *arrayData; @property (nonatomic,strong) NSMutableArray *arrayData;
@property (nonatomic,strong) NSMutableArray *array1; @property (nonatomic,strong) NSMutableArray *array1;
@property (nonatomic,strong) NSMutableArray *array2; @property (nonatomic,strong) NSMutableArray *array2;
@property (nonatomic,strong) NSMutableArray *array3; @property (nonatomic,strong) NSMutableArray *array3;
@property (nonatomic,strong) UICollectionView *collectionView; @property (nonatomic,strong) UICollectionView *collectionView;
/** //筛选数据源
* 筛选数据源
*/
@property (nonatomic,strong) NSMutableArray *screeningDatas; @property (nonatomic,strong) NSMutableArray *screeningDatas;
@property (nonatomic,strong) GoodsFilter *goodsFilter; @property (nonatomic,strong) GoodsFilter *goodsFilter;
/** //商品数据源对象
* 商品数据源对象
*/
@property (nonatomic,strong) NSMutableArray *datasArray; @property (nonatomic,strong) NSMutableArray *datasArray;
/** //商品iD
* 商品iD
*/
@property (nonatomic,copy) NSString *goodsID; @property (nonatomic,copy) NSString *goodsID;
//当前页数
@property (nonatomic,assign) int indexPage;
// 搜索code
@property (nonatomic,copy) NSString *selectedCode;
@end @end
...@@ -21,36 +21,74 @@ ...@@ -21,36 +21,74 @@
} }
return _datasArray; return _datasArray;
} }
- (void)viewDidLoad {
[self initdata];
[self getScreeningdatas];
[self initSubView];
}
/** /**
* 初始化筛选数据源 * 初始化筛选数据源
*/ */
- (NSMutableArray *)screeningDatas - (NSMutableArray *)arrayData
{ {
if (_screeningDatas == nil) { if (_arrayData == nil) {
_screeningDatas = [NSMutableArray array]; _arrayData = [NSMutableArray array];
} }
return _screeningDatas; return _arrayData;
}
- (void)viewDidLoad {
[self initdata];
[self initSubView];
[self uiConfigAction];
} }
//- (instancetype)initWithFrame:(CGRect)frame
//{
// if (self = [super initWithFrame:frame]) {
// [self initdata];
// [self initSubView];
// }
// return self;
//}
-(void)initdata -(void)initdata
{ {
self.arrayData=[[NSMutableArray alloc]init]; self.arrayData=[[NSMutableArray alloc]init];
self.nameData=[[NSMutableArray alloc]initWithObjects:@"风格",@"类型",@"空间",@"材质",@"价格",nil]; self.nameData=[[NSMutableArray alloc]initWithObjects:@"风格",@"类型",@"空间",@"材质",@"价格",nil];
self.indexPage = 0;
}
- (void)uiConfigAction
{
//下拉刷新
MjRefreshHeaderCustom *headerRefresh = [MjRefreshHeaderCustom headerWithRefreshingBlock:^{
//默认数据
GoodsCondition *conditon = [[GoodsCondition alloc]init];
//分页数据
DataPage *Newpage = [[DataPage alloc]init];
Newpage.page = self.indexPage;
Newpage.rows = 10;
conditon.page = Newpage;
//搜索
if (_selectedCode) {
conditon.categoryEquals = _selectedCode;
conditon.nameLike = _selectedCode;
}
[self getScreeningdatasisRemoveArray:YES];
[self getGoodsListDatasisRemove:YES Withobject:conditon];
}];
headerRefresh.stateLabel.hidden = YES;
headerRefresh.lastUpdatedTimeLabel.hidden = YES;
self.collectionView.mj_header = headerRefresh;
[self.collectionView.mj_header beginRefreshing];
//上拉加载
self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
//默认数据
GoodsCondition *conditon = [[GoodsCondition alloc]init];
//分页数据
DataPage *Newpage = [[DataPage alloc]init];
Newpage.page = self.indexPage ++;
Newpage.rows = 10;
conditon.page = Newpage;
//搜索
if (_selectedCode) {
conditon.categoryEquals = _selectedCode;
conditon.nameLike = _selectedCode;
}
[self getGoodsListDatasisRemove:YES Withobject:conditon];
}];
} }
//#pragma mark -热门搜索 //#pragma mark -热门搜索
...@@ -81,46 +119,44 @@ ...@@ -81,46 +119,44 @@
//} //}
#pragma mark -获取商品列表数据 #pragma mark -获取商品列表数据
- (void)getGoodsListDatas - (void)getGoodsListDatasisRemove:(BOOL)remove Withobject:(GoodsCondition *)conditon
{ {
//默认数据
GoodsCondition *conditon = [[GoodsCondition alloc]init];
//分页数据
DataPage *Newpage = [[DataPage alloc]init];
Newpage.page = 0;
conditon.page = Newpage;
__weak typeof(self)weakSelf = self; __weak typeof(self)weakSelf = self;
[self getGoodsListdatas:conditon returnResponse:^(GoodsResponse *response) { [self getGoodsListdatas:conditon returnResponse:^(GoodsResponse *response) {
if (response.goodsEntity.count == 0) { if (response.goodsEntity.count == 0) {
[self ErrorMBProgressView:@"暂无数据"]; [self ErrorMBProgressView:@"暂无数据"];
}else }else
{ {
if (remove) {
[self.datasArray removeAllObjects];
}
for (TOGoodsEntity *model in response.goodsEntity) { for (TOGoodsEntity *model in response.goodsEntity) {
[self.datasArray addObject:model]; [weakSelf.datasArray addObject:model];
} }
[weakSelf.collectionView reloadData];
// [weakSelf.productCollectionView reloadData];
} }
}]; }];
} }
#pragma mark -获取产品筛选数据 #pragma mark -获取产品筛选数据
- (void)getScreeningdatas - (void)getScreeningdatasisRemoveArray:(BOOL)remove
{ {
[[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/goods/getGoodsFilter"] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) { [[NetworkRequestClassManager Manager] NetworkWithDictionaryRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/goods/getGoodsFilter"] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) {
if ([returnValue[@"code"] isEqualToNumber:@0]) { if ([returnValue[@"code"] isEqualToNumber:@0]) {
if (remove) {
[self.arrayData removeAllObjects];
}
GoodsFilter *goodsStyle = [[GoodsFilter alloc]initWithDictionary:returnValue[@"data"] error:nil]; GoodsFilter *goodsStyle = [[GoodsFilter alloc]initWithDictionary:returnValue[@"data"] error:nil];
self.goodsFilter=goodsStyle; self.goodsFilter=goodsStyle;
self.arrayData=self.goodsFilter.styles; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.styles];
[self.seceneTableView reloadData]; [self.seceneTableView reloadData];
} }
else else
...@@ -146,6 +182,7 @@ ...@@ -146,6 +182,7 @@
[[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/goods/query"] WithRequestType:0 WithParameter:conditon WithReturnValueBlock:^(id returnValue) { [[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/goods/query"] WithRequestType:0 WithParameter:conditon WithReturnValueBlock:^(id returnValue) {
[self RemoveMBProgressHUDLoding]; [self RemoveMBProgressHUDLoding];
[self endRefreshingForTableView:self.collectionView];
if ([returnValue[@"code"] isEqualToNumber:@0]) { if ([returnValue[@"code"] isEqualToNumber:@0]) {
GoodsResponse *sponse = [[GoodsResponse alloc]initWithDictionary:returnValue[@"data"] error:nil]; GoodsResponse *sponse = [[GoodsResponse alloc]initWithDictionary:returnValue[@"data"] error:nil];
...@@ -160,7 +197,7 @@ ...@@ -160,7 +197,7 @@
} WithErrorCodeBlock:^(id errorCodeValue) { } WithErrorCodeBlock:^(id errorCodeValue) {
} WithFailureBlock:^(id error) { } WithFailureBlock:^(id error) {
[self endRefreshingForTableView:self.collectionView];
[self RemoveMBProgressHUDLoding]; [self RemoveMBProgressHUDLoding];
}]; }];
} }
...@@ -223,7 +260,7 @@ ...@@ -223,7 +260,7 @@
tap.cancelsTouchesInView = NO; tap.cancelsTouchesInView = NO;
[[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap]; [[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap];
[self initSubViews]; [self initSubViews];
[self getGoodsListDatas];
} }
...@@ -267,23 +304,23 @@ ...@@ -267,23 +304,23 @@
switch (sender.tag) { switch (sender.tag) {
case 100: case 100:
// 风格 // 风格
self.arrayData=self.goodsFilter.styles; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.styles];
break; break;
case 101: case 101:
// 类型 // 类型
self.arrayData=self.goodsFilter.categories; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.categories];
break; break;
case 102: case 102:
// 空间 // 空间
self.arrayData=self.goodsFilter.space; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.space];
break; break;
case 103: case 103:
// 材质 // 材质
self.arrayData=self.goodsFilter.material; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.material];
break; break;
case 104: case 104:
// 价格 // 价格
self.arrayData=self.goodsFilter.price; self.arrayData=[NSMutableArray arrayWithArray:self.goodsFilter.price];
break; break;
default: default:
...@@ -310,7 +347,18 @@ ...@@ -310,7 +347,18 @@
//定义展示的UICollectionViewCell的个数 //定义展示的UICollectionViewCell的个数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{ {
if (self.datasArray.count<3) {
return self.datasArray.count;
}else
{
if (self.datasArray.count/section==0) {
return 3; return 3;
}else
{
return self.datasArray.count%section;
}
}
} }
//每个UICollectionView展示的内容 //每个UICollectionView展示的内容
...@@ -318,8 +366,11 @@ ...@@ -318,8 +366,11 @@
{ {
static NSString * CellIdentifier = @"UICollectionViewCell"; static NSString * CellIdentifier = @"UICollectionViewCell";
ProductCollectionPictureCell * cell = (ProductCollectionPictureCell*)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath]; ProductCollectionPictureCell * cell = (ProductCollectionPictureCell*)[collectionView dequeueReusableCellWithReuseIdentifier:CellIdentifier forIndexPath:indexPath];
[cell.productImageView sd_setImageWithURL:[NSURL URLWithString:[[self.datasArray objectAtIndex_opple:indexPath.row] pictures]] placeholderImage:REPLACEIMAGE]; NSArray *imageArray = [[[self.datasArray objectAtIndex_opple:indexPath.item] pictures] componentsSeparatedByString:@","];
[cell.productImageView sd_setImageWithURL:[NSURL URLWithString:[imageArray objectAtIndex:indexPath.row]] placeholderImage:REPLACEIMAGE];
cell.productPrice.text = [NSString stringWithFormat:@"¥%@",[[[self.datasArray objectAtIndex_opple:indexPath.item] guidePrice] stringValue]];
cell.productParameter.text=[NSString stringWithFormat:@"%@ %@ %@",[[self.datasArray objectAtIndex_opple:indexPath.item]keyword],[[self.datasArray objectAtIndex_opple:indexPath.item]productProfile],[[self.datasArray objectAtIndex_opple:indexPath.item]power]];
cell.productModel=[self.datasArray objectAtIndex_opple:indexPath.item];
return cell; return cell;
} }
...@@ -327,7 +378,7 @@ ...@@ -327,7 +378,7 @@
//定义每个Item 的大小 //定义每个Item 的大小
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath - (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout*)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
{ {
return CGSizeMake(190, 130); return CGSizeMake(190, 150);
} }
//定义每个UICollectionView 的边距 //定义每个UICollectionView 的边距
...@@ -346,9 +397,9 @@ ...@@ -346,9 +397,9 @@
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath -(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{ {
ProductCollectionPictureCell * cell = (ProductCollectionPictureCell *)[collectionView cellForItemAtIndexPath:indexPath]; ProductCollectionPictureCell * cell = (ProductCollectionPictureCell *)[collectionView cellForItemAtIndexPath:indexPath];
if ([self.delegate respondsToSelector:@selector(addProductImage:)]) { if ([self.delegate respondsToSelector:@selector(addProductImage:productModel:)]) {
[self.delegate addProductImage:cell.productImageView.image]; [self.delegate addProductImage:cell.productImageView.image productModel:cell.productModel];
} }
} }
...@@ -409,12 +460,21 @@ ...@@ -409,12 +460,21 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ {
[self getGoodsListDatas]; self.indexPage=0;
//默认数据
GoodsCondition *conditon = [[GoodsCondition alloc]init];
//分页数据
DataPage *Newpage = [[DataPage alloc]init];
Newpage.page = self.indexPage;
Newpage.rows = 0;
conditon.page = Newpage;
[self getGoodsListDatasisRemove:YES Withobject:conditon];
} }
-(void)DismissScreenView:(UITapGestureRecognizer*)sender{ -(void)DismissScreenView:(UITapGestureRecognizer*)sender{
CGPoint point = [sender locationInView:self.view]; CGPoint point = [sender locationInView:self.view];
if (point.x<100 || point.x >ScreenWidth-100||point.y<50||point.y>ScreenHeight-150) { if (point.x<100 || point.x >ScreenWidth-150||point.y<50||point.y>ScreenHeight-150) {
if (self) { if (self) {
[self.view removeFromSuperview]; [self.view removeFromSuperview];
......
...@@ -12,12 +12,13 @@ ...@@ -12,12 +12,13 @@
//回调 //回调
- (void)buttonClick:(NSInteger)btnTag withButton:(UIButton *)button; - (void)buttonClick:(NSInteger)btnTag withButton:(UIButton *)button;
- (void)resetSubProductImage:(UIImage*)image; - (void)resetSubProductImage:(UIImage*)image productModel:(NSMutableArray *)productModel;
@end @end
@interface RightSubView : UIView @interface RightSubView : UIView
@property (nonatomic,assign) id<RightViewBtnClickdelegate> delegate; @property (nonatomic,assign) id<RightViewBtnClickdelegate> delegate;
@property (nonatomic,strong)NSMutableArray *dataArray; @property (nonatomic,strong)NSMutableArray *dataArray;
@property (nonatomic,strong)NSMutableArray *productModelArray;
@property (nonatomic,strong)UIScrollView *scrollView; @property (nonatomic,strong)UIScrollView *scrollView;
-(void)addRightSubViewImage:(UIImage*)image; -(void)addRightSubViewImage:(UIImage*)image productModel:(TOGoodsEntity *)productModel;
@end @end
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
NSString *imageName = [NSString stringWithFormat:@"05产品库-详情_03" ]; NSString *imageName = [NSString stringWithFormat:@"05产品库-详情_03" ];
UIImage *image= [UIImage imageNamed:imageName]; UIImage *image= [UIImage imageNamed:imageName];
self.dataArray=[[NSMutableArray alloc]initWithObjects:image,image,image,nil]; self.dataArray=[[NSMutableArray alloc]initWithObjects:image,image,image,nil];
self.productModelArray=[[NSMutableArray alloc]init];
// 待接收 // 待接收
} }
...@@ -67,9 +68,9 @@ ...@@ -67,9 +68,9 @@
-(void)clicked:(UIButton*)sender -(void)clicked:(UIButton*)sender
{ {
NSLog(@"%d",(sender.tag)); NSLog(@"%d",(sender.tag));
if ([self.delegate respondsToSelector:@selector(resetSubProductImage:)]) { if ([self.delegate respondsToSelector:@selector(resetSubProductImage:productModel:)]) {
[self.delegate resetSubProductImage:sender.imageView.image]; [self.delegate resetSubProductImage:sender.imageView.image productModel:self.productModelArray];
} }
// resetSuperBackGroundImage // resetSuperBackGroundImage
...@@ -100,8 +101,9 @@ ...@@ -100,8 +101,9 @@
} }
} }
-(void)addRightSubViewImage:(UIImage*)image -(void)addRightSubViewImage:(UIImage*)image productModel:(TOGoodsEntity *)productModel
{ {
[self.productModelArray addObject:productModel];
[self.dataArray addObject:image]; [self.dataArray addObject:image];
[self showProductPicture]; [self showProductPicture];
......
...@@ -28,7 +28,7 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout> ...@@ -28,7 +28,7 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
@property (nonatomic,strong) UIButton *kongJianBtn; @property (nonatomic,strong) UIButton *kongJianBtn;
@property (nonatomic,strong) UIButton *fengGeBtn; @property (nonatomic,strong) UIButton *fengGeBtn;
@property (nonatomic,strong) UIButton *leiXingBtn; @property (nonatomic,strong) UIButton *leiXingBtn;
@property (nonatomic,strong) NSArray *arrayData; @property (nonatomic,strong) NSMutableArray *arrayData;
@property (nonatomic,strong) NSMutableArray *array1; @property (nonatomic,strong) NSMutableArray *array1;
@property (nonatomic,strong) NSMutableArray *array2; @property (nonatomic,strong) NSMutableArray *array2;
@property (nonatomic,strong) NSMutableArray *array3; @property (nonatomic,strong) NSMutableArray *array3;
...@@ -38,5 +38,8 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout> ...@@ -38,5 +38,8 @@ UICollectionViewDelegate,UICollectionViewDelegateFlowLayout>
@property (nonatomic,strong) NSArray *imageArray;//筛选cell个数图片 @property (nonatomic,strong) NSArray *imageArray;//筛选cell个数图片
@property (strong, nonatomic) screeningButton *StyleButton;//风格按钮 @property (strong, nonatomic) screeningButton *StyleButton;//风格按钮
@property (strong, nonatomic) screeningButton *SpaceButton;//房型按钮 @property (strong, nonatomic) screeningButton *SpaceButton;//房型按钮
/**
* 当前页数
*/
@property (nonatomic,assign) int indexPage;
@end @end
...@@ -16,26 +16,57 @@ ...@@ -16,26 +16,57 @@
- (void)viewDidLoad { - (void)viewDidLoad {
[self initdata]; [self initdata];
[self getdatasAction];
[self initView ]; [self initView ];
[self uiConfigAction];
[self getdatasAction];
} }
-(void)initdata -(void)initdata
{ {
self.arrayData=[[NSArray alloc]init]; self.arrayData=[[NSMutableArray alloc]init];
self.indexPage = 0;
}
-(void)uiConfigAction
{
//下拉刷新
MjRefreshHeaderCustom *headerRefresh = [MjRefreshHeaderCustom headerWithRefreshingBlock:^{
//默认数据
SceneCondition *condition = [[SceneCondition alloc]init];
DataPage *page = [[DataPage alloc]init];
page.page = self.indexPage;
page.rows = 10;
condition.page = page;
[self getSceneLibrarydatas:condition isRemove:YES];
}];
headerRefresh.stateLabel.hidden = YES;
headerRefresh.lastUpdatedTimeLabel.hidden = YES;
self.collectionView.mj_header = headerRefresh;
[self.collectionView.mj_header beginRefreshing];
//上拉加载
self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
//默认数据
SceneCondition *condition = [[SceneCondition alloc]init];
DataPage *page = [[DataPage alloc]init];
page.page = self.indexPage ++;
page.rows = 10;
condition.page = page;
[self getSceneLibrarydatas:condition isRemove:NO];
}];
} }
#pragma mark -获取场景筛选数据 #pragma mark -获取场景筛选数据
- (void)getdatasAction - (void)getdatasAction
{ {
[self CreateMBProgressHUDLoding]; [self CreateMBProgressHUDLoding];
[[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/scene/getSceneFilter"] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) { [[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/scene/getSceneFilter"] WithRequestType:1 WithParameter:nil WithReturnValueBlock:^(id returnValue) {
[self RemoveMBProgressHUDLoding]; [self RemoveMBProgressHUDLoding];
if ([returnValue[@"code"] isEqualToNumber:@0]) { if ([returnValue[@"code"] isEqualToNumber:@0]) {
self.filter = [[SceneFilter alloc]initWithDictionary:returnValue[@"data"] error:nil]; self.filter = [[SceneFilter alloc]initWithDictionary:returnValue[@"data"] error:nil];
self.arrayData=self.filter.styles; self.arrayData=[NSMutableArray arrayWithArray:self.filter.styles];
[self.seceneTableView reloadData]; [self.seceneTableView reloadData];
} }
else else
...@@ -52,16 +83,20 @@ ...@@ -52,16 +83,20 @@
// //
// //
#pragma mark -获取场景列表数据 #pragma mark -获取场景列表数据
- (void)getSceneLibrarydatas:(SceneCondition *)condition - (void)getSceneLibrarydatas:(SceneCondition *)condition isRemove:(BOOL)remove
{ {
[self CreateMBProgressHUDLoding]; [self CreateMBProgressHUDLoding];
[[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/scene/query"] WithRequestType:0 WithParameter:condition WithReturnValueBlock:^(id returnValue) { [[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/scene/query"] WithRequestType:0 WithParameter:condition WithReturnValueBlock:^(id returnValue) {
[self endRefreshingForTableView:self.collectionView];
[self RemoveMBProgressHUDLoding]; [self RemoveMBProgressHUDLoding];
if ([returnValue[@"code"] isEqualToNumber:@0]) { if ([returnValue[@"code"] isEqualToNumber:@0]) {
// if (remove) {
// [self.responseArray removeAllObjects];
// }
self.response = [[SceneResponse alloc]initWithDictionary:returnValue[@"data"] error:nil]; self.response = [[SceneResponse alloc]initWithDictionary:returnValue[@"data"] error:nil];
NSArray* array=[[NSArray alloc]init];
array=self.response.list;
[ self.collectionView reloadData]; [ self.collectionView reloadData];
} }
else else
...@@ -74,6 +109,7 @@ ...@@ -74,6 +109,7 @@
} WithFailureBlock:^(id error) { } WithFailureBlock:^(id error) {
[self RemoveMBProgressHUDLoding]; [self RemoveMBProgressHUDLoding];
[self endRefreshingForTableView:self.collectionView];
}]; }];
} }
...@@ -105,18 +141,6 @@ ...@@ -105,18 +141,6 @@
self.fengGeBtn.layer.masksToBounds = YES; self.fengGeBtn.layer.masksToBounds = YES;
self.fengGeBtn.layer.cornerRadius = 15; self.fengGeBtn.layer.cornerRadius = 15;
[self.view addSubview:self.fengGeBtn]; [self.view addSubview:self.fengGeBtn];
// //类型
// self.leiXingBtn=[UIButton buttonWithType:UIButtonTypeCustom];
// self.leiXingBtn.frame=CGRectMake(ScreenWidth-250, 152, 100, 46) ;
// self.leiXingBtn.backgroundColor=[UIColor whiteColor];
// [self.leiXingBtn setTitle:@"类型 " forState:UIControlStateNormal];
// [self.leiXingBtn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
// self.leiXingBtn.contentEdgeInsets = UIEdgeInsetsMake(0, 60, 0, 0);
// [self.leiXingBtn addTarget:self action:@selector(selectedType:) forControlEvents:UIControlEventTouchUpInside];
// self.leiXingBtn.tag=103;
// self.leiXingBtn.layer.masksToBounds = YES;
// self.leiXingBtn.layer.cornerRadius = 15;
// [self.view addSubview:self.leiXingBtn];
self.subView=[[UIView alloc]initWithFrame:CGRectMake(100, 50, ScreenWidth-300, ScreenHeight-200)]; self.subView=[[UIView alloc]initWithFrame:CGRectMake(100, 50, ScreenWidth-300, ScreenHeight-200)];
self.subView.backgroundColor=[UIColor whiteColor]; self.subView.backgroundColor=[UIColor whiteColor];
...@@ -129,12 +153,6 @@ ...@@ -129,12 +153,6 @@
tap.cancelsTouchesInView = NO; tap.cancelsTouchesInView = NO;
[[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap]; [[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap];
[self initSubViews]; [self initSubViews];
//默认数据
SceneCondition *condition = [[SceneCondition alloc]init];
DataPage *page = [[DataPage alloc]init];
page.page = 0;
condition.page = page;
[self getSceneLibrarydatas:condition];
} }
-(void)initSubViews -(void)initSubViews
...@@ -173,11 +191,11 @@ ...@@ -173,11 +191,11 @@
switch (sender.tag) { switch (sender.tag) {
case 101: case 101:
// 空间 // 空间
self.arrayData=self.filter.space;; self.arrayData=[NSMutableArray arrayWithArray:self.filter.space];
break; break;
case 102: case 102:
// 风格 // 风格
self.arrayData=self.filter.styles;; self.arrayData=[NSMutableArray arrayWithArray:self.filter.styles];
break; break;
case 103: case 103:
// 类型 // 类型
...@@ -207,7 +225,19 @@ ...@@ -207,7 +225,19 @@
//定义展示的UICollectionViewCell的个数 //定义展示的UICollectionViewCell的个数
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section -(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{ {
// if (self.response.list.count<3) {
// return self.response.list.count;
// }else
// {
// if (self.response.list.count/section==0) {
// return 3;
// }else
// {
// return self.response.list.count%section;
// }
// }
return 3; return 3;
} }
//每个UICollectionView展示的内容 //每个UICollectionView展示的内容
...@@ -286,19 +316,22 @@ ...@@ -286,19 +316,22 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{ {
//选择数据 self.indexPage=0;
//默认数据
SceneCondition *condition = [[SceneCondition alloc]init]; SceneCondition *condition = [[SceneCondition alloc]init];
DataPage *page = [[DataPage alloc]init]; DataPage *page = [[DataPage alloc]init];
page.page = 0; page.page = self.indexPage;
page.rows = 10;
condition.page = page; condition.page = page;
[self getSceneLibrarydatas:condition]; [self getSceneLibrarydatas:condition isRemove:NO];
} }
-(void)DismissScreenView:(UITapGestureRecognizer*)sender{ -(void)DismissScreenView:(UITapGestureRecognizer*)sender{
CGPoint point = [sender locationInView:self.view]; CGPoint point = [sender locationInView:self.view];
if (point.x<100 || point.x >ScreenWidth-100||point.y<50||point.y>ScreenHeight-150) { if (point.x<100 || point.x >ScreenWidth-150||point.y<50||point.y>ScreenHeight-150) {
if (self) { if (self) {
[self.view removeFromSuperview]; [self.view removeFromSuperview];
......
//
// ShoppingCell.h
// Lighting
//
// Created by mac on 16/5/23.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "ShopcarModel.h"
@interface ShoppingCell : UITableViewCell
/**
* 选中
*/
@property (strong, nonatomic) UIButton *selectedButton;
/**
* 商品图片
*/
@property (strong, nonatomic) UIImageView *goodsImageView;
/**
* 商品信息
*/
@property (strong, nonatomic) UILabel *goodsInformationLabe;
/**
* 吊牌价格
*/
@property (strong, nonatomic) UILabel *tagsPriceLabe;
/**
* 成交价格
*/
@property (strong, nonatomic) UITextField *clinchTextfield;
/**
* 减号
*/
@property (strong, nonatomic) UIButton *reduceButton;
/**
* 商品数量
*/
@property (strong, nonatomic) UILabel *goodsNumbersLabe;
/**
* 加号
*/
@property (strong, nonatomic) UIButton *addButton;
/**
* 产品金额
*/
@property (strong, nonatomic) UILabel *productPriceLabe;
/**
* 数据源model
*/
@property (nonatomic,strong) ShopcarModel *model;
/**
* 传入cel下标
*/
@property (nonatomic,assign) NSInteger cellindex;
/**
* 传回选中状态
*/
@property (nonatomic,copy) void(^returnCellblock)(NSInteger index);
//选中索引
//@property (strong, nonatomic) NSIndexPath *indexpath;
/**
* 成交价背景View
*/
@property (strong, nonatomic) UIView *ClinchPriceBackView;
/**
* 商品数量
*/
//@property (nonatomic,assign) id<ChangeGoodsNumberDelegate>delegate;
@end
//
// ShoppingCell.m
// Lighting
//
// Created by mac on 16/5/23.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "ShoppingCell.h"
#define Width 800
#define Height self.frame.size.height
#define Gap 5
@implementation ShoppingCell
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
[self bulidLayout];
}
return self;
}
- (void)bulidLayout
{
// 选中
self.selectedButton=[[UIButton alloc]initWithFrame:CGRectMake(10, 10, Width/15-20, Height-20)];
[self.selectedButton setBackgroundImage:[UIImage imageNamed:@"box-副本"] forState:UIControlStateNormal];
// box-副本
[self.contentView addSubview:self.selectedButton];
// 商品图片
self.goodsImageView=[[UIImageView alloc]initWithFrame:CGRectMake(Width/15, 0, 2*Width/15, Height)];
self.goodsImageView.image=[UIImage imageNamed:@"05产品库-详情_03"];
//05产品库-详情_03
[self.contentView addSubview:self.goodsImageView];
// 商品信息
self.goodsInformationLabe=[[UILabel alloc]initWithFrame:CGRectMake(3*Width/15, 0, 3*Width/15, Height)];
self.goodsInformationLabe.text=@"吊灯jkdsfhkdhfkdsh\n2000133434";
self.goodsInformationLabe.numberOfLines=0;
[self.contentView addSubview:self.goodsInformationLabe];
// 吊牌价格
self.tagsPriceLabe=[[UILabel alloc]initWithFrame:CGRectMake(6*Width/15, 0,2*Width/15, Height)];
self.tagsPriceLabe.text=@"$5500";
[self.contentView addSubview:self.tagsPriceLabe];
// 成交价格
self.clinchTextfield=[[UITextField alloc]initWithFrame:CGRectMake(8*Width/15, 0, 2*Width/15, Height)];
self.clinchTextfield.text=@"$5500";
[self.contentView addSubview:self.clinchTextfield];
// 数量减
self.reduceButton=[[UIButton alloc]initWithFrame:CGRectMake(10*Width/15, 0, Width/15, Height)];
[self.reduceButton setTitle:@"-" forState:UIControlStateNormal];
[self.reduceButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
self.reduceButton.titleLabel.font= [UIFont systemFontOfSize: 18.0];
[self.contentView addSubview:self.reduceButton];
// 商品数量
self.goodsNumbersLabe=[[UILabel alloc]initWithFrame:CGRectMake(11*Width/15, 0, Width/15, Height)];
self.goodsNumbersLabe.text=@"1";
self.goodsNumbersLabe.textAlignment=NSTextAlignmentCenter;
[self.contentView addSubview:self.goodsNumbersLabe];
// 数量加
self.addButton=[[UIButton alloc]initWithFrame:CGRectMake(12*Width/15, 0, Width/15, Height)];
[self.addButton setTitle:@"+" forState:UIControlStateNormal];
[self.addButton setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
self.addButton.titleLabel.font= [UIFont systemFontOfSize: 18.0];
[self.contentView addSubview:self.addButton];
// 产品金额
self.productPriceLabe=[[UILabel alloc]initWithFrame:CGRectMake(13*Width/15, 0, 2*Width/15, Height)];
self.productPriceLabe.text=@"$5500";
self.productPriceLabe.textColor=[UIColor redColor];
[self.contentView addSubview:self.productPriceLabe];
}
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end
//
// ShoppingView.h
// Lighting
//
// Created by mac on 16/5/23.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "BaseViewController.h"
#import "ShoppingCell.h"
@interface ShoppingView : BaseViewController<UIGestureRecognizerDelegate,UITableViewDelegate,UITableViewDataSource>
@property (nonatomic,strong) UIView *subView;
@property (nonatomic,strong) UIView *headerView;
@property (nonatomic,strong) UIView *toolView;
@property (nonatomic,strong) UIView *footView;
@property (nonatomic,strong) NSMutableArray *nameDataArray;
@property (nonatomic,strong) NSMutableArray *productModelArray;
@property (nonatomic,strong) NSMutableArray *selectTagArray;
@property (nonatomic,strong) UITableView *shoppingTableView;
@property (nonatomic,assign) BOOL isAllSelected;
@end
\ No newline at end of file
//
// ShoppingView.m
// Lighting
//
// Created by mac on 16/5/23.
// Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//
#import "ShoppingView.h"
@interface ShoppingView ()
{
NSMutableArray * textArray;
}
@end
@implementation ShoppingView
- (void)viewDidLoad {
[super viewDidLoad];
[self initdata];
[self initView];
// Do any additional setup after loading the view.
}
-(void)initdata
{
self.isAllSelected=NO;
self.nameDataArray=[[NSMutableArray alloc]initWithObjects:@"",@"图片",@"产品信息",@"吊牌价",@"成交价",@"",@"数量",@"",@"产品金额", nil];
self.productModelArray=[[NSMutableArray alloc]init];
textArray=[[NSMutableArray alloc]initWithObjects:@"1",@"1",@"1",@"1",@"1", nil];
self.selectTagArray=[[NSMutableArray alloc]init];
}
-(void)initView
{
self.subView=[[UIView alloc]initWithFrame:CGRectMake(100, 50, ScreenWidth-250, ScreenHeight-200)];
self.subView.backgroundColor=[UIColor whiteColor];
[self.view addSubview:self.subView];
//点击手势
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(DismissScreenView:)];
tap.delegate = self;
tap.cancelsTouchesInView = NO;
[[UIApplication sharedApplication].keyWindow addGestureRecognizer:tap];
[self initSubViews];
}
-(void)initSubViews
{
self.headerView=[[UIView alloc]initWithFrame:CGRectMake(0, 0, self.subView.frame.size.width, 50)];
[self.subView addSubview:self.headerView];
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(10, 10, 30, 30);
[btn setBackgroundImage:[UIImage imageNamed:@"addshopping"] forState:UIControlStateNormal];
[self.headerView addSubview:btn];
UILabel *lable=[[UILabel alloc]initWithFrame:CGRectMake(45, 10, 100, 30)];
lable.text=@"待添加购物车";
[self.headerView addSubview:lable];
self.toolView=[[UIView alloc]initWithFrame:CGRectMake(0,50, self.subView.frame.size.width, 50)];
self.toolView.backgroundColor=[UIColor grayColor];
[self.subView addSubview:self.toolView];
for (int i=0; i<self.nameDataArray.count; i++) {
UIButton *btn=[UIButton buttonWithType:UIButtonTypeCustom];
btn.frame=CGRectMake(self.subView.frame.size.width/9*i, 10, self.subView.frame.size.width/9, 30);
[btn setTitle:[self.nameDataArray objectAtIndex:i] forState:UIControlStateNormal];
[self.toolView addSubview:btn];
}
self.shoppingTableView=[[UITableView alloc]initWithFrame:CGRectMake( 0,100, self.subView.frame.size.width, self.subView.frame.size.height-200)];
self.shoppingTableView.delegate=self;
self.shoppingTableView.dataSource=self;
[self.subView addSubview:self.shoppingTableView];
self.footView=[[UIView alloc]initWithFrame:CGRectMake(0, self.subView.frame.size.height-100, self.subView.frame.size.width, 100)];
[self.subView addSubview:self.footView];
UIButton *allSelectedBtn=[[UIButton alloc]initWithFrame:CGRectMake(20, 35, 30, 30)];
[allSelectedBtn addTarget:self action:@selector(allSelected:) forControlEvents:UIControlEventTouchUpInside];
[allSelectedBtn setBackgroundImage:[UIImage imageNamed:@"box-副本"] forState:UIControlStateNormal];
[self.footView addSubview:allSelectedBtn];
UILabel *allLable=[[UILabel alloc]initWithFrame:CGRectMake(70, 35, 50, 50)];
allLable.text=@"全选";
[self.footView addSubview:allLable];
UIButton * delegateBtn=[[UIButton alloc]initWithFrame:CGRectMake(150, 35, 30, 30)];
[delegateBtn setBackgroundImage:[UIImage imageNamed:@"Trash"] forState:UIControlStateNormal];
[delegateBtn addTarget:self action:@selector(delegateProduct:) forControlEvents:UIControlEventTouchUpInside];
[self.footView addSubview:delegateBtn];
UILabel *delegatelable=[[UILabel alloc]initWithFrame:CGRectMake(210, 35, 50, 50)];
delegatelable.text=@"删除";
[self.footView addSubview:delegatelable];
UILabel *totalAmountName=[[UILabel alloc]initWithFrame:CGRectMake(self.footView.frame.size.width-320, 25, 75, 50)];
totalAmountName.text=@"合计金额";
[self.footView addSubview:totalAmountName];
UILabel *totalAmountNum=[[UILabel alloc]initWithFrame:CGRectMake(self.footView.frame.size.width-240, 25, 75, 50)];
totalAmountNum.text=@"$5500";
totalAmountNum.textColor=[UIColor redColor];
[self.footView addSubview:totalAmountNum];
UIButton *confirmAddBtn=[[UIButton alloc]initWithFrame:CGRectMake(self.footView.frame.size.width-150, 15, 130, 60)];
[confirmAddBtn setTitle:@"确认添加(0)" forState:UIControlStateNormal];
[confirmAddBtn addTarget:self action:@selector(addProducts:) forControlEvents:UIControlEventTouchUpInside];
[confirmAddBtn setBackgroundColor:[UIColor blueColor]];
[self.footView addSubview:confirmAddBtn];
}
//全选
-(void)allSelected:(UIButton*)sender
{
if (!self.isAllSelected) {
[sender setBackgroundImage:[UIImage imageNamed:@"bg"] forState:UIControlStateNormal];
[self.shoppingTableView reloadData];
self.isAllSelected=YES;
}else
{
[sender setBackgroundImage:[UIImage imageNamed:@"box-副本"] forState:UIControlStateNormal];
[self.shoppingTableView reloadData];
self.isAllSelected=NO;
}
}
//删除
-(void)delegateProduct:(UIButton *)sender
{
self.selectTagArray=[self sequenceProductList:self.selectTagArray];
if (self.isAllSelected) {
[textArray removeAllObjects];
}else
{
for (NSString *str in self.selectTagArray) {
[textArray removeObjectAtIndex:[str integerValue]];
}
}
[self.shoppingTableView reloadData];
}
//选择
-(void)selfctAtIndexpath:(UIButton *)sender
{
if ([self.selectTagArray containsObject:[NSString stringWithFormat:@"%d",sender.tag]]) {
[sender setBackgroundImage:[UIImage imageNamed:@"box-副本"] forState:UIControlStateNormal];
[self.selectTagArray removeObject:[NSString stringWithFormat:@"%d",sender.tag]];
}else
{
[sender setBackgroundImage:[UIImage imageNamed:@"bg"] forState:UIControlStateNormal];
[self.selectTagArray addObject:[NSString stringWithFormat:@"%d",sender.tag]];
}
}
//第一种排序 倒序排列
-(NSMutableArray *)sequenceProductList:(NSMutableArray*)productList
{
// 数组排序
NSComparator cmptr = ^(id obj1, id obj2){
if ([obj1 integerValue] < [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedDescending;
}
if ([obj1 integerValue] > [obj2 integerValue]) {
return (NSComparisonResult)NSOrderedAscending;
}
return (NSComparisonResult)NSOrderedSame;
};
if ( productList.count>0) {
productList=[NSMutableArray arrayWithArray:[productList sortedArrayUsingComparator:cmptr] ];
}
return productList;
}
-(void)addProducts:(UIButton *)sender
{
//加入购物车
//判断是否有当前客户
if (![Shoppersmanager manager].currentCustomer) {
[self ErrorMBProgressView:@"必须设置当前客户"];
return;
}
TOGoodsEntity *model = [self.productModelArray objectAtIndex_opple:0];
[self addGoodsShoppingbags:model complate:^{
NSLog(@"加入购物车完成");
}];
}
#pragma mark -添加至购物车
- (void)addGoodsShoppingbags:(TOGoodsEntity *)model complate:(void(^)())response
{
SaveShoppingCartRequest *shopCar = [[SaveShoppingCartRequest alloc]init];
shopCar.consumerId = [[Customermanager manager] customerID];
shopCar.goodsId = model.fid;
shopCar.count = 1;
[[NetworkRequestClassManager Manager] NetworkRequestWithURL:[NSString stringWithFormat:@"%@%@",ServerAddress,@"/shopcart/save"] WithRequestType:0 WithParameter:shopCar WithReturnValueBlock:^(id returnValue) {
if ([returnValue[@"code"] isEqualToNumber:@0]) {
response();
}else
{
[self ErrorMBProgressView:returnValue[@"message"]];
}
} WithErrorCodeBlock:^(id errorCodeValue) {
} WithFailureBlock:^(id error) {
[self ErrorMBProgressView:@"加入购物车失败"];
}];
}
#pragma mark - 协议方法
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return textArray.count;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 50;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *cellID = @"ChooseTansferCell";
ShoppingCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];
if (cell == nil) {
cell = [[ShoppingCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID];
}
cell.selectedButton.tag=indexPath.row;
[cell.selectedButton addTarget:self action:@selector(selfctAtIndexpath:) forControlEvents:UIControlEventTouchUpInside];
if (self.isAllSelected) {
[cell.selectedButton setBackgroundImage:[UIImage imageNamed:@"bg"] forState:UIControlStateNormal];
}else
{
[cell.selectedButton setBackgroundImage:[UIImage imageNamed:@"box-副本"] forState:UIControlStateNormal];
}
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
}
-(void)DismissScreenView:(UITapGestureRecognizer*)sender{
CGPoint point = [sender locationInView:self.view];
if (point.x<100 || point.x >ScreenWidth-150||point.y<50||point.y>ScreenHeight-150) {
if (self) {
[self.view removeFromSuperview];
}
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
...@@ -11,15 +11,7 @@ ...@@ -11,15 +11,7 @@
@protocol ImageCropperDelegate; @protocol ImageCropperDelegate;
@interface ImageCropperView : UIImageView { @interface ImageCropperView : UIImageView
UIImageView *imageView;
}
@property (nonatomic, retain) UIImage *image;
@property (nonatomic, retain) UIImage *croppedImage;
@property (nonatomic, assign) id <ImageCropperDelegate> delegate; @property (nonatomic, assign) id <ImageCropperDelegate> delegate;
- (void)setup; - (void)setup;
......
...@@ -14,17 +14,12 @@ ...@@ -14,17 +14,12 @@
#import "UIImage+Rotation.h" #import "UIImage+Rotation.h"
@interface ImageCropperView() @interface ImageCropperView()
{
@private
CGSize _originalImageViewSize;
}
@property (nonatomic, retain) UIImageView *imageView;
@end @end
@implementation ImageCropperView @implementation ImageCropperView
@synthesize imageView, image = _image, delegate, croppedImage;
- (id)initWithFrame:(CGRect)frame { - (id)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame]; self = [super initWithFrame:frame];
...@@ -110,61 +105,61 @@ ...@@ -110,61 +105,61 @@
} }
} }
float _lastTransX = 0.0, _lastTransY = 0.0; //float _lastTransX = 0.0, _lastTransY = 0.0;
- (void)moveImage:(UIPanGestureRecognizer *)sender //- (void)moveImage:(UIPanGestureRecognizer *)sender
{ //{
CGPoint translatedPoint = [sender translationInView:self]; // CGPoint translatedPoint = [sender translationInView:self];
//
if([sender state] == UIGestureRecognizerStateBegan) { // if([sender state] == UIGestureRecognizerStateBegan) {
_lastTransX = 0.0; // _lastTransX = 0.0;
_lastTransY = 0.0; // _lastTransY = 0.0;
} // }
//
CGAffineTransform trans = CGAffineTransformMakeTranslation(translatedPoint.x - _lastTransX, translatedPoint.y - _lastTransY); // CGAffineTransform trans = CGAffineTransformMakeTranslation(translatedPoint.x - _lastTransX, translatedPoint.y - _lastTransY);
CGAffineTransform newTransform = CGAffineTransformConcat(self.transform, trans); // CGAffineTransform newTransform = CGAffineTransformConcat(self.transform, trans);
_lastTransX = translatedPoint.x; // _lastTransX = translatedPoint.x;
_lastTransY = translatedPoint.y; // _lastTransY = translatedPoint.y;
//
self.transform = newTransform; // self.transform = newTransform;
} //}
//
float _lastScale = 1.0; //float _lastScale = 1.0;
- (void)scaleImage:(UIPinchGestureRecognizer *)sender //- (void)scaleImage:(UIPinchGestureRecognizer *)sender
{ //{
if([sender state] == UIGestureRecognizerStateBegan) { // if([sender state] == UIGestureRecognizerStateBegan) {
//
_lastScale = 2.0; // _lastScale = 2.0;
return; // return;
} // }
//
CGFloat scale = [sender scale]/_lastScale; // CGFloat scale = [sender scale]/_lastScale;
//
CGAffineTransform currentTransform = self.transform; // CGAffineTransform currentTransform = self.transform;
CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale); // CGAffineTransform newTransform = CGAffineTransformScale(currentTransform, scale, scale);
[self setTransform:newTransform]; // [self setTransform:newTransform];
//
_lastScale = [sender scale]; // _lastScale = [sender scale];
} //}
//
float _lastRotation = 0.0; //float _lastRotation = 0.0;
//旋转 ////旋转
- (void)rotateImage:(UIRotationGestureRecognizer *)sender //- (void)rotateImage:(UIRotationGestureRecognizer *)sender
{ //{
if([sender state] == UIGestureRecognizerStateEnded) { // if([sender state] == UIGestureRecognizerStateEnded) {
//
_lastRotation = 0.0; // _lastRotation = 0.0;
return; // return;
} // }
//
CGFloat rotation = -_lastRotation + [sender rotation]; // CGFloat rotation = -_lastRotation + [sender rotation];
//
CGAffineTransform currentTransform = self.transform; // CGAffineTransform currentTransform = self.transform;
CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform,rotation); // CGAffineTransform newTransform = CGAffineTransformRotate(currentTransform,rotation);
[self setTransform:newTransform]; // [self setTransform:newTransform];
//
_lastRotation = [sender rotation]; // _lastRotation = [sender rotation];
//
} //}
//长按响应的事件 //长按响应的事件
-(void)handleLongPress2:(id)sender{ -(void)handleLongPress2:(id)sender{
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
04A14A251CE0FC3A00DAD5F3 /* LeftSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A241CE0FC3A00DAD5F3 /* LeftSubView.m */; }; 04A14A251CE0FC3A00DAD5F3 /* LeftSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A241CE0FC3A00DAD5F3 /* LeftSubView.m */; };
04A14A281CE0FC5600DAD5F3 /* RightSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A271CE0FC5600DAD5F3 /* RightSubView.m */; }; 04A14A281CE0FC5600DAD5F3 /* RightSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A271CE0FC5600DAD5F3 /* RightSubView.m */; };
04A14A2B1CE0FC7F00DAD5F3 /* FootSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A2A1CE0FC7F00DAD5F3 /* FootSubView.m */; }; 04A14A2B1CE0FC7F00DAD5F3 /* FootSubView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04A14A2A1CE0FC7F00DAD5F3 /* FootSubView.m */; };
04F9EE181CF2235000BD729F /* ShoppingView.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F9EE171CF2235000BD729F /* ShoppingView.m */; };
04F9EE1B1CF22B5900BD729F /* ShoppingCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 04F9EE1A1CF22B5900BD729F /* ShoppingCell.m */; };
060D397C1CE45CFE0082AECD /* ImageCropperView.m in Sources */ = {isa = PBXBuildFile; fileRef = 060D39791CE45CFE0082AECD /* ImageCropperView.m */; }; 060D397C1CE45CFE0082AECD /* ImageCropperView.m in Sources */ = {isa = PBXBuildFile; fileRef = 060D39791CE45CFE0082AECD /* ImageCropperView.m */; };
060D397D1CE45CFE0082AECD /* UIImage+Rotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 060D397B1CE45CFE0082AECD /* UIImage+Rotation.m */; }; 060D397D1CE45CFE0082AECD /* UIImage+Rotation.m in Sources */ = {isa = PBXBuildFile; fileRef = 060D397B1CE45CFE0082AECD /* UIImage+Rotation.m */; };
2906B5D71CD89246000849B4 /* ClientDetailsTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2906B5D61CD89246000849B4 /* ClientDetailsTableViewCell.m */; }; 2906B5D71CD89246000849B4 /* ClientDetailsTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 2906B5D61CD89246000849B4 /* ClientDetailsTableViewCell.m */; };
...@@ -147,6 +149,10 @@ ...@@ -147,6 +149,10 @@
04A14A271CE0FC5600DAD5F3 /* RightSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RightSubView.m; sourceTree = "<group>"; }; 04A14A271CE0FC5600DAD5F3 /* RightSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RightSubView.m; sourceTree = "<group>"; };
04A14A291CE0FC7F00DAD5F3 /* FootSubView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootSubView.h; sourceTree = "<group>"; }; 04A14A291CE0FC7F00DAD5F3 /* FootSubView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FootSubView.h; sourceTree = "<group>"; };
04A14A2A1CE0FC7F00DAD5F3 /* FootSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FootSubView.m; sourceTree = "<group>"; }; 04A14A2A1CE0FC7F00DAD5F3 /* FootSubView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FootSubView.m; sourceTree = "<group>"; };
04F9EE161CF2235000BD729F /* ShoppingView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShoppingView.h; sourceTree = "<group>"; };
04F9EE171CF2235000BD729F /* ShoppingView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShoppingView.m; sourceTree = "<group>"; };
04F9EE191CF22B5900BD729F /* ShoppingCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ShoppingCell.h; sourceTree = "<group>"; };
04F9EE1A1CF22B5900BD729F /* ShoppingCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ShoppingCell.m; sourceTree = "<group>"; };
060D39781CE45CFE0082AECD /* ImageCropperView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageCropperView.h; sourceTree = "<group>"; }; 060D39781CE45CFE0082AECD /* ImageCropperView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImageCropperView.h; sourceTree = "<group>"; };
060D39791CE45CFE0082AECD /* ImageCropperView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageCropperView.m; sourceTree = "<group>"; }; 060D39791CE45CFE0082AECD /* ImageCropperView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ImageCropperView.m; sourceTree = "<group>"; };
060D397A1CE45CFE0082AECD /* UIImage+Rotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Rotation.h"; sourceTree = "<group>"; }; 060D397A1CE45CFE0082AECD /* UIImage+Rotation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIImage+Rotation.h"; sourceTree = "<group>"; };
...@@ -407,6 +413,8 @@ ...@@ -407,6 +413,8 @@
0470D6101CE2936000647F0F /* SeceneLibraryView.m */, 0470D6101CE2936000647F0F /* SeceneLibraryView.m */,
0470D6121CE2938000647F0F /* ProductLibraryView.h */, 0470D6121CE2938000647F0F /* ProductLibraryView.h */,
0470D6131CE2938000647F0F /* ProductLibraryView.m */, 0470D6131CE2938000647F0F /* ProductLibraryView.m */,
04F9EE161CF2235000BD729F /* ShoppingView.h */,
04F9EE171CF2235000BD729F /* ShoppingView.m */,
); );
name = subView; name = subView;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -438,6 +446,8 @@ ...@@ -438,6 +446,8 @@
044CD6ED1CEB771C0004A715 /* SeceneCollectionPictureCell.m */, 044CD6ED1CEB771C0004A715 /* SeceneCollectionPictureCell.m */,
044CD6EF1CEB81350004A715 /* ProductCollectionPictureCell.h */, 044CD6EF1CEB81350004A715 /* ProductCollectionPictureCell.h */,
044CD6F01CEB81350004A715 /* ProductCollectionPictureCell.m */, 044CD6F01CEB81350004A715 /* ProductCollectionPictureCell.m */,
04F9EE191CF22B5900BD729F /* ShoppingCell.h */,
04F9EE1A1CF22B5900BD729F /* ShoppingCell.m */,
); );
name = customCell; name = customCell;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1397,7 +1407,9 @@ ...@@ -1397,7 +1407,9 @@
290887131CE5DF16000B7097 /* ShopcarModel.m in Sources */, 290887131CE5DF16000B7097 /* ShopcarModel.m in Sources */,
29BB27681CD9D38E009A0813 /* AllpriceTableViewCell.m in Sources */, 29BB27681CD9D38E009A0813 /* AllpriceTableViewCell.m in Sources */,
29BB27771CD9DFBA009A0813 /* ProductLibraryViewController.m in Sources */, 29BB27771CD9DFBA009A0813 /* ProductLibraryViewController.m in Sources */,
04F9EE181CF2235000BD729F /* ShoppingView.m in Sources */,
29EAAEAA1CDC7FE800C4DBA2 /* AllCutomerTableViewCell.m in Sources */, 29EAAEAA1CDC7FE800C4DBA2 /* AllCutomerTableViewCell.m in Sources */,
04F9EE1B1CF22B5900BD729F /* ShoppingCell.m in Sources */,
29360C2F1CDDC47E002A5D89 /* ScreeningView.m in Sources */, 29360C2F1CDDC47E002A5D89 /* ScreeningView.m in Sources */,
2985AEA21CE72F1500704C91 /* NSDictionary+ZXPUnicode.m in Sources */, 2985AEA21CE72F1500704C91 /* NSDictionary+ZXPUnicode.m in Sources */,
29EAAE9C1CDC74CA00C4DBA2 /* AllCustomerViewController.m in Sources */, 29EAAE9C1CDC74CA00C4DBA2 /* AllCustomerViewController.m in Sources */,
......
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model name="Test1.xcdatamodel" userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="1" systemVersion="11A491" minimumToolsVersion="Automatic" macOSVersion="Automatic" iOSVersion="Automatic"> <model userDefinedModelVersionIdentifier="" type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="10171" systemVersion="15E65" minimumToolsVersion="Automatic">
<elements/> <entity name="Entity" syncable="YES"/>
<elements>
<element name="Entity" positionX="-63" positionY="-18" width="128" height="45"/>
</elements>
</model> </model>
\ No newline at end of file
...@@ -14,7 +14,7 @@ PODS: ...@@ -14,7 +14,7 @@ PODS:
- AFNetworking/Serialization (3.1.0) - AFNetworking/Serialization (3.1.0)
- AFNetworking/UIKit (3.1.0): - AFNetworking/UIKit (3.1.0):
- AFNetworking/NSURLSession - AFNetworking/NSURLSession
- IQKeyboardManager (4.0.3) - IQKeyboardManager (4.0.2)
- JSONModel (1.2.0) - JSONModel (1.2.0)
- Masonry (0.6.4) - Masonry (0.6.4)
- MBProgressHUD (0.9.2) - MBProgressHUD (0.9.2)
...@@ -32,9 +32,9 @@ PODS: ...@@ -32,9 +32,9 @@ PODS:
- MMDrawerController/Core - MMDrawerController/Core
- MMDrawerController/Subclass (0.6.0): - MMDrawerController/Subclass (0.6.0):
- MMDrawerController/Core - MMDrawerController/Core
- SDWebImage (3.7.6): - SDWebImage (3.7.5):
- SDWebImage/Core (= 3.7.6) - SDWebImage/Core (= 3.7.5)
- SDWebImage/Core (3.7.6) - SDWebImage/Core (3.7.5)
- SVProgressHUD (2.0.3) - SVProgressHUD (2.0.3)
DEPENDENCIES: DEPENDENCIES:
...@@ -51,14 +51,14 @@ DEPENDENCIES: ...@@ -51,14 +51,14 @@ DEPENDENCIES:
SPEC CHECKSUMS: SPEC CHECKSUMS:
AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67 AFNetworking: 5e0e199f73d8626b11e79750991f5d173d1f8b67
IQKeyboardManager: be9695ffc5a52077deb4847608f338771022d6d1 IQKeyboardManager: 2341089c4ae25fa2fa82ce356a259fcd267dc6b6
JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c JSONModel: 12523685c4b623553ccf844bbbf7007624317b2c
Masonry: 281802d04d787ea2973179ee8bcb50500579ede2 Masonry: 281802d04d787ea2973179ee8bcb50500579ede2
MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1 MBProgressHUD: 1569cf7ace17a8bac47aabfbb8580a49690386d1
MJExtension: d86aacb740c87519d20e3cca55b6fa4be6cc7548 MJExtension: d86aacb740c87519d20e3cca55b6fa4be6cc7548
MJRefresh: 743e6404967d1c2c688472ea3ecfde247d872db4 MJRefresh: 743e6404967d1c2c688472ea3ecfde247d872db4
MMDrawerController: e3a54a5570388463ad3b36975251575b50c4e1a0 MMDrawerController: e3a54a5570388463ad3b36975251575b50c4e1a0
SDWebImage: c325cf02c30337336b95beff20a13df489ec0ec9 SDWebImage: 69c6303e3348fba97e03f65d65d4fbc26740f461
SVProgressHUD: b0830714205bea1317ea1a2ebc71e5633af334d4 SVProgressHUD: b0830714205bea1317ea1a2ebc71e5633af334d4
COCOAPODS: 0.39.0 COCOAPODS: 0.39.0
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment