該文章針對的是購物車多選和多選金額算計需求的完成,在開發中極易遇到的幾個問題是:1、復選問題,2、單元格重用問題,3、全選問題,4、統計問題。
其中在復選問題之外還有一個是單個商品購置數量增減問題。
以下是代碼局部:(注:改代碼為獨立局部,並沒有停止數據懇求,運用的假數據,可直接拷貝或許下載,在團體工程中運轉運轉測試)。
其中:JC_BaseViewController.h是團體自定義的base控制器,子類中調用局部可相應刪除
ShoppingViewController.h
#import "JC_BaseViewController.h" @interface ShoppingViewController : JC_BaseViewController @property (nonatomic, strong) UITableView *tableView; @end
//購物車
/**
*_selectBtn.tag = 100;
*numLabel.tag = 200;
*addBTN.tag = 300;
*redueBTN.tag = 400;
*
*/
#import "ShoppingViewController.h"
#import "ShoppingTableViewCell.h"
@interface ShoppingViewController ()<UITableViewDelegate, UITableViewDataSource>
{
UIView *headerView;
NSMutableArray *dataArray;
//底部視圖
UIView *bottomBgView;
UIButton *quanxBtn; //全選
UILabel *hejiLabel; //算計
UILabel *shoufuLabel; //首付、月供
UIButton *submitBTN; //結算
//添加按鈕
UIButton *reduceBTN; //減
UIButton *addBTN; //加
UILabel *numLabel; //數量
NSMutableArray *selectArray; //選擇形態數組
NSMutableArray *numArray; //購置數量
//算計
float hejiMoney; //算計金額
int selectNum; //選中數量
}
@property (nonatomic, strong) UIButton *selectBtn; //復選框
@end
//#define JC_ARCM_COLOR [UIColor colorWithRed:arc4random() % 10 * 0.1 green:arc4random() % 10 * 0.1 blue:arc4random() % 10 * 0.1 alpha:1.0]
#define JC_ARCM_COLOR [UIColor clearColor]
@implementation ShoppingViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
self.title = @"購物車";
dataArray = [[NSMutableArray alloc]init];
[self requestData];
[self.view addSubview:self.tableView];
[self initFooterViews];
[self initBottomViews];
[self.tableView addHeaderWithtarget:self
action:@selector(requestData)];
[self.tableView addFooterWithtarget:self
action:@selector(requestData)];
}
//底部視圖
- (void)initBottomViews
{
bottomBgView = [[UIView alloc]init];
bottomBgView.backgroundColor = [UIColor whiteColor];
[self.view addSubview:bottomBgView];
[bottomBgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.equalTo(bottomBgView.superview);
make.height.mas_equalTo(60);
}];
submitBTN = [UIButton buttonWithType:UIButtonTypeCustom];
submitBTN.backgroundColor = COLOR_TITLE_RED__;
[submitBTN setTitle:@"結算(0)" forState:UIControlStateNormal];
submitBTN.titleLabel.font = [UIFont boldSystemFontOfSize:15.0];
[submitBTN setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
[bottomBgView addSubview:submitBTN];
[submitBTN mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.bottom.right.mas_equalTo(submitBTN.superview);
make.width.mas_equalTo(85);
}];
quanxBtn = [UIButton buttonWithType:UIButtonTypeCustom];
quanxBtn.selected = 0;
[quanxBtn setImage:[UIImage imageNamed:@"select_nor"] forState:UIControlStateNormal];
[quanxBtn addTarget:self
action:@selector(quanxuanAction:)
forControlEvents:UIControlEventTouchUpInside];
[bottomBgView addSubview:quanxBtn];
[quanxBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(5);
make.centerY.equalTo(quanxBtn.superview);
make.width.height.mas_equalTo(40);
}];
hejiLabel = [[UILabel alloc]init];
hejiLabel.font = [UIFont boldSystemFontOfSize:16.0];
hejiLabel.textColor = COLOR_TITLE_RED__;
hejiLabel.text = @"算計:0元";
[bottomBgView addSubview:hejiLabel];
[hejiLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(quanxBtn.mas_right);
make.top.mas_equalTo(10);
}];
shoufuLabel = [[UILabel alloc]init];
shoufuLabel.textColor = COLOR_TITLE_GRAY__;
shoufuLabel.font = [UIFont systemFontOfSize:14.0];
shoufuLabel.text = @"首付:0元 月供:0元";
[bottomBgView addSubview:shoufuLabel];
[shoufuLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(hejiLabel);
make.top.equalTo(hejiLabel.mas_bottom).with.offset(5);
make.right.equalTo(shoufuLabel.superview).with.offset(-85);
}];
}
//尾視圖
- (void)initFooterViews
{
UIView *footerView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, 30)];
footerView.backgroundColor = COLOR_VC_BG__;
_tableView.tableFooterView = footerView;
}
#pragma mark -
#pragma mark - 表視圖
- (UITableView *)tableView
{
if (!_tableView) {
_tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, 0, KScreenWidth, KScreenHeight - 64 - 60) style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.showsVerticalScrollIndicator = NO;
_tableView.showsHorizontalScrollIndicator = NO;
_tableView.tableFooterView = [[UIView alloc]init];
_tableView.backgroundColor = [UIColor clearColor];
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
}
return _tableView;
}
#pragma mark -
#pragma mark - UITableViewDelegate
//定義展現的Cell的個數
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return dataArray.count;
}
//定義展現的Section的個數
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *idetifier = @"cell";
// NSString *idetifier = [NSString stringWithFormat:@"cell%zi", indexPath.row];
ShoppingTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:idetifier];
if (cell == nil)
{
cell = [[ShoppingTableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:idetifier];
_selectBtn = [UIButton buttonWithType:UIButtonTypeCustom];
_selectBtn.selected = 0;
_selectBtn.tag = 100;
_selectBtn.userInteractionEnabled = NO;
// _selectBtn.backgroundColor = [UIColor redColor];
[_selectBtn setImage:[UIImage imageNamed:@"select_nor"] forState:UIControlStateNormal];
[cell.contentView addSubview:_selectBtn];
[_selectBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(10);
make.centerY.equalTo(_selectBtn.superview);
make.width.height.mas_equalTo(30);
}];
addBTN = [UIButton buttonWithType:UIButtonTypeCustom];
[addBTN setImage:[UIImage imageNamed:@"addIcon"] forState:UIControlStateNormal];
addBTN.tag = 300;
[addBTN addTarget:self
action:@selector(addAction:)
forControlEvents:UIControlEventTouchUpInside];
[cell.bgView addSubview:addBTN];
addBTN.backgroundColor = JC_ARCM_COLOR;
[addBTN mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(addBTN.superview).with.offset(2.5);
make.centerY.equalTo(cell.priceLabel);
make.width.height.mas_equalTo(40);
}];
numLabel = [[UILabel alloc]init];
numLabel.text = @"1";
numLabel.tag = 200;
numLabel.textColor = COLOR_TITLE_BLACK__;
numLabel.textAlignment = NSTextAlignmentCenter;
numLabel.font = [UIFont systemFontOfSize:14.0];
// numLabel.backgroundColor = JC_ARCM_COLOR;
[cell.bgView addSubview:numLabel];
[numLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.centerY.equalTo(cell.priceLabel);
make.right.equalTo(addBTN.mas_left).with.offset(7.5);
make.width.mas_equalTo(30);
make.height.mas_equalTo(20);
}];
reduceBTN = [UIButton buttonWithType:UIButtonTypeCustom];
reduceBTN.tag = 400;
reduceBTN.backgroundColor = JC_ARCM_COLOR;
[reduceBTN setImage:[UIImage imageNamed:@"reduceIcon"] forState:UIControlStateNormal];
[reduceBTN addTarget:self
action:@selector(reduceAction:)
forControlEvents:UIControlEventTouchUpInside];
[cell.bgView addSubview:reduceBTN];
[reduceBTN mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.equalTo(numLabel.mas_left).with.offset(7.5);
make.centerY.equalTo(cell.priceLabel);
make.width.height.mas_equalTo(40);
}];
}
cell.backgroundColor = JC_ARCM_COLOR;
// cell.backgroundColor = COLOR_VC_BG__;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
if (dataArray != nil)
{
cell.nameLabel.text = [dataArray[indexPath.row] objectForKey:@"name"];
cell.goodImgView.image = [UIImage imageNamed:[dataArray[indexPath.row] objectForKey:@"img_path"]];
cell.describeLabel.text = [dataArray[indexPath.row] objectForKey:@"describe"];
cell.sxLabel.text = [dataArray[indexPath.row] objectForKey:@"shuxing"];
NSDictionary *attributeDict_price = [NSDictionary dictionaryWithObjectsAndKeys:
[UIFont boldSystemFontOfSize:20.0],NSFontAttributeName,
COLOR_TITLE_RED__,NSForegroundColorAttributeName,nil];
NSMutableAttributedString *attributedStr_price = [[NSMutableAttributedString alloc]initWithString:[NSString stringWithFormat:@"¥%@", [dataArray[indexPath.row] objectForKey:@"price"]] attributes:attributeDict_price];
cell.priceLabel.attributedText = attributedStr_price;
cell.shoufuLabel.text = [dataArray[indexPath.row] objectForKey:@"shoufu"];
cell.yueGongLabel.text = [dataArray[indexPath.row] objectForKey:@"yuegong"];
//選擇按鈕
UIButton *selectbutton = [cell.contentView viewWithtag:100];
selectbutton.selected = [[selectArray objectAtIndex:indexPath.row] boolValue];
if (selectbutton.selected == 1)
{
[selectbutton setImage:[UIImage imageNamed:@"select_sel"] forState:UIControlStateNormal];
}
else
{
[selectbutton setImage:[UIImage imageNamed:@"select_nor"] forState:UIControlStateNormal];
}
//購置件數
UILabel *numlabel = [cell.contentView viewWithTag:200];
NSLog(@"%@", numArray);
numlabel.text = [numArray objectAtIndex:indexPath.row];
}
return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return 200;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if ([selectArray[indexPath.row] isEqualToString:@"0"]) {
[selectArray replaceObjectAtIndex:indexPath.row withObject:@"1"];
}
else
{
[selectArray replaceObjectAtIndex:indexPath.row withObject:@"0"];
}
//刷新選中的一行
[tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexPath,nil] withRowAnimation:UITableViewRowAnimationNone];
selectNum = 0;
for (int i = 0; i < selectArray.count; i ++)
{
NSString *issel = selectArray[i];//每個cell的選擇形態
if ([issel isEqualToString:@"1"])
{//記載選中個數
selectNum = selectNum + 1;
}
else
{//假如存在有未選中cell,全選按鈕形態為0
[quanxBtn setImage:[UIImage imageNamed:@"select_nor"] forState:UIControlStateNormal];
quanxBtn.selected = 0;
}
if (selectNum == selectArray.count)
{//假如經過點擊cell全部選中了,改動全選按鈕形態--選中個數等於全部個數
[quanxBtn setImage:[UIImage imageNamed:@"select_sel"] forState:UIControlStateNormal];
quanxBtn.selected = 1;
}
}
//計算金額
[self selectNumCalculate];
[submitBTN setTitle:[NSString stringWithFormat:@"結算(%d)", selectNum] forState:UIControlStateNormal];
}
#pragma mark -
#pragma mark - 按鈕點擊事情
//全選按鈕
- (void)quanxuanAction:(UIButton *)button
{
button.selected = !button.selected;
if (button.selected == 1)
{
[button setImage:[UIImage imageNamed:@"select_sel"] forState:UIControlStateNormal];
}
else
{
[button setImage:[UIImage imageNamed:@"select_nor"] forState:UIControlStateNormal];
}
//一切cell的選中形態
for (int i = 0; i < dataArray.count; i ++)
{
if (button.selected == 0)
{
[selectArray replaceObjectAtIndex:i withObject:@"0"];
}
else
{
[selectArray replaceObjectAtIndex:i withObject:@"1"];
}
}
[_tableView reloadData];
NSLog(@"money = %.0f", hejiMoney);
//調用算計金額計算辦法
[self selectNumCalculate];
[submitBTN setTitle:[NSString stringWithFormat:@"結算(%d)", selectNum] forState:UIControlStateNormal];
}
//減
- (void)reduceAction:(UIButton *)button
{
NSIndexPath *indexpath = [_tableView indexPathForCell:(ShoppingTableViewCell *) button.superview.superview.superview];
if ([numArray[indexpath.row] intValue] == 1)
{
[JCTipView showWithString:@"單次購置最少1件"];
}
else
{
[numArray replaceObjectAtIndex:indexpath.row withObject:[NSString stringWithFormat:@"%d", [numArray[indexpath.row] intValue] - 1]];
//一個cell刷新
[_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexpath,nil]
withRowAnimation:UITableViewRowAnimationNone];
}
NSLog(@"--%@", numArray);
//依據選中的單元格的實踐購置數量計算金額
[self hejiCalculate];
}
//加
- (void)addAction:(UIButton *)button
{
NSIndexPath *indexpath = [_tableView indexPathForCell:(ShoppingTableViewCell *) button.superview.superview.superview];
if ([numArray[indexpath.row] intValue] == 99)
{
[JCTipView showWithString:@"單次購置最多99件"];
}
else
{
[numArray replaceObjectAtIndex:indexpath.row withObject:[NSString stringWithFormat:@"%d", [numArray[indexpath.row] intValue] + 1]];
//一個cell刷新
[_tableView reloadRowsAtIndexPaths:[NSArray arrayWithObjects:indexpath,nil]
withRowAnimation:UITableViewRowAnimationNone];
}
//依據選中的單元格的實踐購置數量計算金額
[self hejiCalculate];
}
#pragma mark -
#pragma mark - 金額計算
//購置數量計算
- (void)selectNumCalculate
{
//計算
selectNum = 0;
for (int i = 0; i < selectArray.count; i ++)
{
NSString *issel = selectArray[i];
if ([issel isEqualToString:@"1"])
{
selectNum = selectNum + 1;
}
}
[self hejiCalculate];
}
//算計
- (void)hejiCalculate
{
//依據選中的單元格的實踐購置數量計算金額
hejiMoney = 0;
for (int i = 0; i < selectArray.count; i ++)
{
if ([selectArray[i] isEqualToString:@"1"])
{
hejiMoney = hejiMoney + [[[dataArray objectAtIndex:i] objectForKey:@"price"] intValue] * [[numArray objectAtIndex:i] intValue];
}
}
hejiLabel.text = [NSString stringWithFormat:@"算計:%.2f元", hejiMoney];
}
#pragma mark -
#pragma mark - 數據懇求
- (void)requestData
{
[self.tableView headerEndRefreshing];
[self.tableView footerEndRefreshing];
dataArray = [[NSMutableArray alloc]initWithObjects:@{@"name" : @"纨绔子弟旗艦店",
@"img_path" : @"good_1",
@"describe" : @"纨绔子弟男鞋夏季新款 男士休閒皮鞋男韓版棉鞋青年潮鞋",
@"shuxing" : @"顏色:藏青色; 尺碼:41",
@"price" : @"1000",
@"shoufu" : @"首付:100.98元",
@"yuegong" : @"月供:302.50元x24期"},
@{@"name" : @"361度旗艦店",
@"img_path" : @"good_2",
@"describe" : @"361度男鞋清倉 夏季情侶男士休閒鞋361運動鞋青少年白色滑板鞋鞋子",
@"shuxing" : @"顏色:白色; 尺碼:41",
@"price" : @"2000",
@"shoufu" : @"首付:10.02元",
@"yuegong" : @"月供:10.02元x15期"},
@{@"name" : @"普華錦訊數碼專營店",
@"img_path" : @"mobileIcon",
@"describe" : @"Lenvov/聯想 A3910e70挪動智能聯通電信全網通版4G雙卡智能手機正品",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"3000",
@"shoufu" : @"首付:256.34元",
@"yuegong" : @"月供:256.34元x9期"},
@{@"name" : @"roaringwild旗艦店",
@"img_path" : @"fzIcon",
@"describe" : @"ROARINGWILD 16AW SOUTIENCOLLAR/C-JKT 黑色華達呢長風衣",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"4000",
@"shoufu" : @"首付:50元",
@"yuegong" : @"月供:50元x18期"},
@{@"name" : @"纨绔子弟旗艦店",
@"img_path" : @"good_1",
@"describe" : @"纨绔子弟男鞋夏季新款 男士休閒皮鞋男韓版棉鞋青年潮鞋",
@"shuxing" : @"顏色:藏青色; 尺碼:41",
@"price" : @"5000",
@"shoufu" : @"首付:100.98元",
@"yuegong" : @"月供:302.50元x24期"},
@{@"name" : @"361度旗艦店",
@"img_path" : @"good_2",
@"describe" : @"361度男鞋清倉 夏季情侶男士休閒鞋361運動鞋青少年白色滑板鞋鞋子",
@"shuxing" : @"顏色:白色; 尺碼:41",
@"price" : @"6000",
@"shoufu" : @"首付:10.02元",
@"yuegong" : @"月供:10.02元x15期"},
@{@"name" : @"普華錦訊數碼專營店",
@"img_path" : @"mobileIcon",
@"describe" : @"Lenvov/聯想 A3910e70挪動智能聯通電信全網通版4G雙卡智能手機正品",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"7000",
@"shoufu" : @"首付:256.34元",
@"yuegong" : @"月供:256.34元x9期"},
@{@"name" : @"roaringwild旗艦店",
@"img_path" : @"fzIcon",
@"describe" : @"ROARINGWILD 16AW SOUTIENCOLLAR/C-JKT 黑色華達呢長風衣",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"8000",
@"shoufu" : @"首付:50元",
@"yuegong" : @"月供:50元x18期"},
@{@"name" : @"纨绔子弟旗艦店",
@"img_path" : @"good_1",
@"describe" : @"纨绔子弟男鞋夏季新款 男士休閒皮鞋男韓版棉鞋青年潮鞋",
@"shuxing" : @"顏色:藏青色; 尺碼:41",
@"price" : @"9000",
@"shoufu" : @"首付:100.98元",
@"yuegong" : @"月供:302.50元x24期"},
@{@"name" : @"361度旗艦店",
@"img_path" : @"good_2",
@"describe" : @"361度男鞋清倉 夏季情侶男士休閒鞋361運動鞋青少年白色滑板鞋鞋子",
@"shuxing" : @"顏色:白色; 尺碼:41",
@"price" : @"10000",
@"shoufu" : @"首付:10.02元",
@"yuegong" : @"月供:10.02元x15期"},
@{@"name" : @"普華錦訊數碼專營店",
@"img_path" : @"mobileIcon",
@"describe" : @"Lenvov/聯想 A3910e70挪動智能聯通電信全網通版4G雙卡智能手機正品",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"12000",
@"shoufu" : @"首付:256.34元",
@"yuegong" : @"月供:256.34元x9期"},
@{@"name" : @"roaringwild旗艦店",
@"img_path" : @"fzIcon",
@"describe" : @"ROARINGWILD 16AW SOUTIENCOLLAR/C-JKT 黑色華達呢長風衣",
@"shuxing" : @"顏色:清爽白; 套餐:官方標配; 存儲容量:8G; 版本類型:中國大陸",
@"price" : @"13000",
@"shoufu" : @"首付:50元",
@"yuegong" : @"月供:50元x18期"},
nil];
if (selectArray == nil || selectArray.count < dataArray.count)
{
selectArray = [[NSMutableArray alloc]init];
numArray = [[NSMutableArray alloc]init];
for (int i = 0; i < dataArray.count; i ++)
{
[selectArray addObject:@"0"];
[numArray addObject:@"1"];
}
}
[_tableView reloadData];
}
- (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
ShoppingTableViewCell.h
#import <UIKit/UIKit.h>
@interface ShoppingTableViewCell : UITableViewCell
{
UIView *lineView_1;
UIView *lineView_2;
}
@property (nonatomic, strong) UIView *bgView;
@property (nonatomic, strong) UILabel *nameLabel; //稱號
@property (nonatomic, strong) UIImageView *goodImgView;
@property (nonatomic, strong) UILabel *describeLabel; //描繪
@property (nonatomic, strong) UILabel *priceLabel; //價錢
@property (nonatomic, strong) UILabel *sxLabel; //商品屬性
@property (nonatomic, strong) UILabel *shoufuLabel; //首付
@property (nonatomic, strong) UILabel *yueGongLabel; //月供
@end
#import "ShoppingTableViewCell.h"
//#define JC_ARCM_COLOR [UIColor colorWithRed:arc4random() % 10 * 0.1 green:arc4random() % 10 * 0.1 blue:arc4random() % 10 * 0.1 alpha:1.0]
#define JC_ARCM_COLOR [UIColor clearColor]
@implementation ShoppingTableViewCell
- (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
}
- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self)
{
//...
_bgView = [[UIView alloc]init];
_bgView.backgroundColor = [UIColor whiteColor];
[self.contentView addSubview:_bgView];
_bgView.frame = CGRectMake(7.5, 10, KScreenWidth - 15, 190);
_bgView.layer.cornerRadius = 5;
_bgView.layer.masksToBounds = YES;
[self initTopViews];
[self initCenterViews];
[self initBottomViews];
}
return self;
}
//頂部
- (void)initTopViews
{
_nameLabel = [[UILabel alloc]init];
_nameLabel.text = @"首爾韓伊";
_nameLabel.backgroundColor = JC_ARCM_COLOR;
_nameLabel.font = [UIFont systemFontOfSize:15.0];
_nameLabel.textColor = COLOR_TITLE_BLACK__;
[_bgView addSubview:_nameLabel];
[_nameLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(40);
make.right.equalTo(_nameLabel.mas_right).with.offset(-10);
make.top.mas_equalTo(10);
}];
lineView_1 = [[UIView alloc]init];
lineView_1.backgroundColor = COLOR_VC_BG__;
[_bgView addSubview:lineView_1];
[lineView_1 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(lineView_1.superview);
make.height.mas_equalTo(1);
make.bottom.equalTo(_nameLabel.mas_bottom).with.offset(7.5);
}];
}
//中部
- (void)initCenterViews
{
_goodImgView = [[UIImageView alloc]init];
_goodImgView.contentMode = UIViewContentModeScaleaspectFit;
[_bgView addSubview:_goodImgView];
[_goodImgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_nameLabel);
make.top.equalTo(lineView_1.mas_bottom).with.offset(10);
make.width.height.mas_equalTo(80);
}];
_goodImgView.image = [UIImage imageNamed:@"good_2"];
_describeLabel = [[UILabel alloc]init];
_describeLabel.font = [UIFont systemFontOfSize:15.0];
_describeLabel.textColor = COLOR_TITLE_BLACK__;
_describeLabel.numberOfLines = 2;
[_bgView addSubview:_describeLabel];
_describeLabel.text = @"COCACH蔻馳 手提包撒奧所多德豐多歲的得打多水水水水歲馳 手提包撒奧所";
[_describeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_goodImgView.mas_right).with.offset(10);
make.top.equalTo(lineView_1.mas_bottom).with.offset(10);
make.right.equalTo(_describeLabel.superview.mas_right).with.offset(-10);
}];
_sxLabel = [[UILabel alloc]init];
_sxLabel.textColor = COLOR_TITLE_GRAY__;
_sxLabel.font = [UIFont systemFontOfSize:14.0];
[_bgView addSubview:_sxLabel];
[_sxLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(_describeLabel);
make.top.equalTo(_describeLabel.mas_bottom).with.offset(5);
}];
_sxLabel.text = @"顏色:黑色; 尺碼:S";
_priceLabel = [[UILabel alloc]init];
[_bgView addSubview:_priceLabel];
[_priceLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_describeLabel);
make.top.equalTo(_sxLabel.mas_bottom).with.offset(5);
}];
lineView_2 = [[UIView alloc]init];
lineView_2.backgroundColor = COLOR_VC_BG__;
[_bgView addSubview:lineView_2];
[lineView_2 mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.equalTo(lineView_2.superview);
make.top.equalTo(_priceLabel.mas_bottom).with.offset(10);
make.height.mas_equalTo(1);
}];
}
//底部
- (void)initBottomViews
{
_shoufuLabel = [[UILabel alloc]init];
_shoufuLabel.text = @"首付:10000元";
_shoufuLabel.textColor = COLOR_TITLE_GRAY__;
_shoufuLabel.font = [UIFont systemFontOfSize:14.0];
[_bgView addSubview:_shoufuLabel];
[_shoufuLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(40);
make.top.equalTo(lineView_2.mas_bottom);
make.height.mas_equalTo(45);
}];
_yueGongLabel = [[UILabel alloc]init];
_yueGongLabel.textColor = COLOR_TITLE_GRAY__;
_yueGongLabel.font = [UIFont systemFontOfSize:14.0];
_yueGongLabel.text = @"月供:10000.99x24期";
[_bgView addSubview:_yueGongLabel];
[_yueGongLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.equalTo(_shoufuLabel.mas_right).with.offset(15);
make.right.equalTo(_yueGongLabel.superview).with.offset(-10);
make.top.bottom.equalTo(_shoufuLabel);
}];
}
@end
【ios UITableView單元格多選框的完成】的相關資料介紹到這裡,希望對您有所幫助!
提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!