Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
I
ios1x
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
cemarose
ios1x
Commits
8ea2bdaa
Commit
8ea2bdaa
authored
Mar 19, 2018
by
lee
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.6.7
parent
e10d4c3f
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
124 additions
and
45 deletions
+124
-45
LaunchScreen.storyboard
iCemarose/Base.lproj/LaunchScreen.storyboard
+1
-1
AppDelegate+Deeplink.m
iCemarose/Class/AppDelegate+Deeplink.m
+2
-2
KWMBrandCaramelVC.m
iCemarose/Class/UI/Brand/KWMBrandCaramelVC.m
+4
-0
KWMHotSalesHeader.m
iCemarose/Class/UI/NewHome/Cell/KWMHotSalesHeader.m
+47
-27
KWMHotSalesHeader.xib
iCemarose/Class/UI/NewHome/Cell/KWMHotSalesHeader.xib
+21
-11
KWMNewHomeVC.m
iCemarose/Class/UI/NewHome/KWMNewHomeVC.m
+7
-2
KWMSecondDetailView.h
iCemarose/Class/UI/NewProduct/Cell/KWMSecondDetailView.h
+2
-0
KWMSecondDetailView.m
iCemarose/Class/UI/NewProduct/Cell/KWMSecondDetailView.m
+37
-0
KWMNewProductVC.m
iCemarose/Class/UI/NewProduct/KWMNewProductVC.m
+1
-0
Info.plist
iCemarose/Info.plist
+2
-2
No files found.
iCemarose/Base.lproj/LaunchScreen.storyboard
View file @
8ea2bdaa
...
...
@@ -35,7 +35,7 @@
<constraint
firstAttribute=
"height"
constant=
"24"
id=
"x1H-Jw-5lD"
/>
</constraints>
</imageView>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"v 1.6.
5
"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ytF-B2-drm"
>
<label
opaque=
"NO"
userInteractionEnabled=
"NO"
contentMode=
"left"
horizontalHuggingPriority=
"251"
verticalHuggingPriority=
"251"
text=
"v 1.6.
7
"
textAlignment=
"natural"
lineBreakMode=
"tailTruncation"
baselineAdjustment=
"alignBaselines"
adjustsFontSizeToFit=
"NO"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"ytF-B2-drm"
>
<rect
key=
"frame"
x=
"168"
y=
"631"
width=
"39"
height=
"16"
/>
<fontDescription
key=
"fontDescription"
type=
"system"
pointSize=
"13"
/>
<color
key=
"textColor"
red=
"0.40000000000000002"
green=
"0.40000000000000002"
blue=
"0.40000000000000002"
alpha=
"1"
colorSpace=
"calibratedRGB"
/>
...
...
iCemarose/Class/AppDelegate+Deeplink.m
View file @
8ea2bdaa
...
...
@@ -46,8 +46,8 @@ static NSMutableDictionary *controllerCache = nil;
tags
=
tags
.
count
>
0
?
[
tags
[
0
]
componentsSeparatedByString
:
@"+"
]
:
nil
;
// NSArray *tags = [parameters[JLRouteWildcardComponentsKey] componentsSeparatedByString:@"+"];
NSLog
(
@"trace tags %@"
,[
tags
componentsJoinedByString
:
@","
]);
NSArray
*
brands
=
@[
@"amelie-wang"
,
@"babywalker"
,
@"beau-loves"
,
@"billieblush"
,
@"billybandit"
,
@"bonpoint"
,
@"burberry"
,
@"caramel"
,
@"chloe"
,
@"collegien"
,
@"dolce-gabbana"
,
@"emile-et-ida"
,
@"fendi"
,
@"gucci"
,
@"hucklebones"
,
@"il-gufo"
,
@"indikidual"
,
@"karl-lagerfeld-kids"
,
@"kenzo"
,
@"lanvin"
,
@"little-marc-jacobs"
,
@"loud-apparel"
,
@"louis-louise"
,
@"louise-misha"
,
@"marie-chantal"
,
@"marni"
,
@"mini-melissa"
,
@"mini-rodini"
,
@"mischka-aoki"
,
@"moncler"
,
@"moschino"
,
@"msgm"
,
@"nailmatic"
,
@"nana-huchy"
,
@"noukies"
,
@"oeuf"
,
@"patachou"
,
@"paul-smith"
,
@"pepe"
,
@"sons-daughters-eyewear"
,
@"stella-mccartney-kids"
,
@"story-loris"
,
@"tartine-et-chocolat"
,
@"the-animals-observatory"
,
@"tiny-cottons"
,
@"veja"
,
@"young-versace"
,
@"zadig-voltaire"
,
@"wolf-rita"
,
@"tip-toey-joey"
,
@"givenchy"
,
@"pintuan"
];
NSDictionary
*
brandNames
=
@{
@"amelie-wang"
:
@"Amelie Wang"
,
@"babywalker"
:
@"Babywalker"
,
@"beau-loves"
:
@"Beau Loves"
,
@"billieblush"
:
@"Billieblush"
,
@"billybandit"
:
@"Billybandit"
,
@"bonpoint"
:
@"Bonpoint"
,
@"burberry"
:
@"Burberry"
,
@"caramel"
:
@"Caramel"
,
@"chloe"
:
@"Chloé"
,
@"dolce-gabbana"
:
@"Dolce & Gabbana"
,
@"emile-et-ida"
:
@"Emile et Ida"
,
@"fendi"
:
@"Fendi"
,
@"givenchy"
:
@"Givenchy"
,
@"gucci"
:
@"Gucci"
,
@"hucklebones"
:
@"Hucklebones"
,
@"il-gufo"
:
@"Il Gufo"
,
@"indikidual"
:
@"Indikidual"
,
@"karl-lagerfeld-kids"
:
@"Karl Lagerfeld Kids"
,
@"kenzo"
:
@"Kenzo"
,
@"lanvin"
:
@"Lanvin"
,
@"little-marc-jacobs"
:
@"Little Marc Jacobs"
,
@"loud-apparel"
:
@"Loud Apparel"
,
@"louis-louise"
:
@"Louis Louise"
,
@"louise-misha"
:
@"Louise Misha"
,
@"marie-chantal"
:
@"Marie-Chantal"
,
@"marni"
:
@"Marni"
,
@"mini-melissa"
:
@"Mini Melissa"
,
@"mini-rodini"
:
@"Mini Rodini"
,
@"mischka-aoki"
:
@"Mischka Aoki"
,
@"moncler"
:
@"Moncler"
,
@"moschino"
:
@"MOSCHINO"
,
@"msgm"
:
@"MSGM"
,
@"nailmatic"
:
@"Nailmatic"
,
@"nana-huchy"
:
@"Nana Huchy"
,
@"noukies"
:
@"Noukie's"
,
@"oeuf"
:
@"Oeuf"
,
@"patachou"
:
@"Patachou"
,
@"paul-smith"
:
@"Paul Smith"
,
@"pepe"
:
@"PèPè"
,
@"sons-daughters-eyewear"
:
@"Sons + Daughters Eyewear"
,
@"stella-mccartney-kids"
:
@"Stella McCartney Kids"
,
@"story-loris"
:
@"Story Loris"
,
@"tartine-et-chocolat"
:
@"Tartine et Chocolat"
,
@"the-animals-observatory"
:
@"The Animals Observatory"
,
@"tiny-cottons"
:
@"Tiny Cottons"
,
@"tip-toey-joey"
:
@"Tip Toey Joey"
,
@"veja"
:
@"Veja"
,
@"young-versace"
:
@"Young Versace"
,
@"zadig-voltaire"
:
@"Zadig & Voltaire"
,
@"wolf-rita"
:
@"Wolf & Rita"
,
@"pintuan"
:
@"拼团专场"
};
NSArray
*
brands
=
@[
@"amelie-wang"
,
@"babywalker"
,
@"beau-loves"
,
@"billieblush"
,
@"billybandit"
,
@"bonpoint"
,
@"burberry"
,
@"caramel"
,
@"chloe"
,
@"collegien"
,
@"dolce-gabbana"
,
@"emile-et-ida"
,
@"fendi"
,
@"gucci"
,
@"hucklebones"
,
@"il-gufo"
,
@"indikidual"
,
@"karl-lagerfeld-kids"
,
@"kenzo"
,
@"lanvin"
,
@"little-marc-jacobs"
,
@"loud-apparel"
,
@"louis-louise"
,
@"louise-misha"
,
@"marie-chantal"
,
@"marni"
,
@"mini-melissa"
,
@"mini-rodini"
,
@"mischka-aoki"
,
@"moncler"
,
@"moschino"
,
@"msgm"
,
@"nailmatic"
,
@"nana-huchy"
,
@"noukies"
,
@"oeuf"
,
@"patachou"
,
@"paul-smith"
,
@"pepe"
,
@"sons-daughters-eyewear"
,
@"stella-mccartney-kids"
,
@"story-loris"
,
@"tartine-et-chocolat"
,
@"the-animals-observatory"
,
@"tiny-cottons"
,
@"veja"
,
@"young-versace"
,
@"zadig-voltaire"
,
@"wolf-rita"
,
@"tip-toey-joey"
,
@"givenchy"
,
@"
bonton"
,
@"boss"
,
@"
pintuan"
];
NSDictionary
*
brandNames
=
@{
@"amelie-wang"
:
@"Amelie Wang"
,
@"babywalker"
:
@"Babywalker"
,
@"beau-loves"
:
@"Beau Loves"
,
@"billieblush"
:
@"Billieblush"
,
@"billybandit"
:
@"Billybandit"
,
@"bonpoint"
:
@"Bonpoint"
,
@"burberry"
:
@"Burberry"
,
@"caramel"
:
@"Caramel"
,
@"chloe"
:
@"Chloé"
,
@"dolce-gabbana"
:
@"Dolce & Gabbana"
,
@"emile-et-ida"
:
@"Emile et Ida"
,
@"fendi"
:
@"Fendi"
,
@"givenchy"
:
@"Givenchy"
,
@"gucci"
:
@"Gucci"
,
@"hucklebones"
:
@"Hucklebones"
,
@"il-gufo"
:
@"Il Gufo"
,
@"indikidual"
:
@"Indikidual"
,
@"karl-lagerfeld-kids"
:
@"Karl Lagerfeld Kids"
,
@"kenzo"
:
@"Kenzo"
,
@"lanvin"
:
@"Lanvin"
,
@"little-marc-jacobs"
:
@"Little Marc Jacobs"
,
@"loud-apparel"
:
@"Loud Apparel"
,
@"louis-louise"
:
@"Louis Louise"
,
@"louise-misha"
:
@"Louise Misha"
,
@"marie-chantal"
:
@"Marie-Chantal"
,
@"marni"
:
@"Marni"
,
@"mini-melissa"
:
@"Mini Melissa"
,
@"mini-rodini"
:
@"Mini Rodini"
,
@"mischka-aoki"
:
@"Mischka Aoki"
,
@"moncler"
:
@"Moncler"
,
@"moschino"
:
@"MOSCHINO"
,
@"msgm"
:
@"MSGM"
,
@"nailmatic"
:
@"Nailmatic"
,
@"nana-huchy"
:
@"Nana Huchy"
,
@"noukies"
:
@"Noukie's"
,
@"oeuf"
:
@"Oeuf"
,
@"patachou"
:
@"Patachou"
,
@"paul-smith"
:
@"Paul Smith"
,
@"pepe"
:
@"PèPè"
,
@"sons-daughters-eyewear"
:
@"Sons + Daughters Eyewear"
,
@"stella-mccartney-kids"
:
@"Stella McCartney Kids"
,
@"story-loris"
:
@"Story Loris"
,
@"tartine-et-chocolat"
:
@"Tartine et Chocolat"
,
@"the-animals-observatory"
:
@"The Animals Observatory"
,
@"tiny-cottons"
:
@"Tiny Cottons"
,
@"tip-toey-joey"
:
@"Tip Toey Joey"
,
@"veja"
:
@"Veja"
,
@"young-versace"
:
@"Young Versace"
,
@"zadig-voltaire"
:
@"Zadig & Voltaire"
,
@"wolf-rita"
:
@"Wolf & Rita"
,
@"
bonton"
:
@"Bonton"
,
@"boss"
:
@"BOSS"
,
@"
pintuan"
:
@"拼团专场"
};
//将handle的转化放到这里,转化之前将没转化过的handle存为标题
NSString
*
title
=
handle
;
// handle = [[KWMStringUtil deleteOtherCharExceptLetterWithLine:handle] lowercaseString];
...
...
iCemarose/Class/UI/Brand/KWMBrandCaramelVC.m
View file @
8ea2bdaa
...
...
@@ -433,10 +433,14 @@ static NSString *idStr = @"KWMBrandCaramelCell";
}
[
KWMPPCacheUtil
saveDataToCache
:
parameters
urlKey
:
CACHE_KEY_SDK_getProductsPage
products
:
result
];
if
(
!
result
||
result
.
count
==
0
){
if
(
weakSelf
.
dataList
.
count
==
0
)
{
weakSelf
.
vNoneGoods
.
hidden
=
NO
;
[
weakSelf
.
dataList
removeAllObjects
];
[
self
.
tbvBrandCaramel
reloadData
];
weakSelf
.
hasNextPage
=
NO
;
}
else
{
[[
weakSelf
.
tbvBrandCaramel
mj_footer
]
endRefreshingWithNoMoreData
];
}
}
else
{
if
(
tagetPage
==
1
){
[
weakSelf
.
dataList
removeAllObjects
];
...
...
iCemarose/Class/UI/NewHome/Cell/KWMHotSalesHeader.m
View file @
8ea2bdaa
...
...
@@ -12,13 +12,13 @@
#import "KWMNewHomeCell.h"
#import <SDCycleScrollView/SDCycleScrollView.h>
@interface
KWMHotSalesHeader
()
<
UICollectionViewDelegate
,
UICollectionViewDataSource
,
UICollectionViewDelegateFlowLayout
,
SDCycleScroll
ViewDelegate
>
@interface
KWMHotSalesHeader
()
<
UICollectionViewDelegate
,
UICollectionViewDataSource
,
UICollectionViewDelegateFlowLayout
,
UITableViewDataSource
,
UITable
ViewDelegate
>
@property
(
nonatomic
,
weak
)
IBOutlet
UIView
*
vView
;
@property
(
nonatomic
,
weak
)
IBOutlet
UIView
*
bannerView
;
@property
(
nonatomic
,
strong
)
SDCycleScrollView
*
focus
View
;
@property
(
nonatomic
,
weak
)
IBOutlet
UITableView
*
bannerTable
View
;
@property
(
nonatomic
,
weak
)
IBOutlet
UICollectionView
*
singleShowView
;
...
...
@@ -71,40 +71,25 @@
return
height
;
}
-
(
CGFloat
)
actrualBannerImageHeight
{
return
UI_SCREEN_WIDTH
/
375
*
190
;
}
-
(
void
)
initView
{
UINib
*
nib
=
[
UINib
nibWithNibName
:
@"KWMNewHomeCell"
bundle
:
nil
];
[
self
.
singleShowView
registerNib
:
nib
forCellWithReuseIdentifier
:
@"KWMNewHomeCell"
];
self
.
singleShowView
.
delegate
=
self
;
self
.
singleShowView
.
dataSource
=
self
;
self
.
bannerTableView
.
dataSource
=
self
;
self
.
bannerTableView
.
delegate
=
self
;
self
.
heightBannerView
.
constant
=
0
;
self
.
heightSingleShowView
.
constant
=
0
;
}
-
(
void
)
initFocusView
{
if
(
!
_focusView
)
{
_focusView
=
[[
SDCycleScrollView
alloc
]
init
];
_focusView
.
delegate
=
self
;
_focusView
.
translatesAutoresizingMaskIntoConstraints
=
NO
;
_focusView
.
frame
=
CGRectMake
(
0
,
0
,
375
,
190
);
_focusView
.
autoScrollTimeInterval
=
3
;
_focusView
.
pageControlAliment
=
SDCycleScrollViewPageContolAlimentRight
;
_focusView
.
pageDotImage
=
[
UIImage
imageNamed
:
@"ic_page_1"
];
_focusView
.
currentPageDotImage
=
[
UIImage
imageNamed
:
@"ic_page_2"
];
[
self
.
bannerView
addSubview
:
_focusView
];
NSDictionary
*
views
=
@{
@"v"
:
_focusView
};
[
self
.
bannerView
addConstraints
:[
NSLayoutConstraint
constraintsWithVisualFormat
:
@"V:|[v]|"
options
:
0
metrics
:
nil
views
:
views
]];
[
self
.
bannerView
addConstraints
:[
NSLayoutConstraint
constraintsWithVisualFormat
:
@"H:|[v]|"
options
:
0
metrics
:
nil
views
:
views
]];
}
}
-
(
void
)
setBannerArray
:
(
NSArray
*
)
bannerArray
{
_bannerArray
=
bannerArray
;
if
(
bannerArray
&&
bannerArray
.
count
>
0
){
[
self
initFocusView
];
self
.
focusView
.
imageURLStringsGroup
=
[
bannerArray
rx_mapWithBlock
:
^
id
(
KWMAdvertisement
*
each
)
{
return
each
.
image
;
}];
self
.
heightBannerView
.
constant
=
190
;
[
self
.
bannerTableView
reloadData
];
}
else
{
self
.
heightBannerView
.
constant
=
0
;
}
...
...
@@ -152,10 +137,45 @@
[
self
.
delegate
kwm_onClickProduct
:
self
.
singleShowArray
[
indexPath
.
item
]];
}
#pragma mark - KWMBannerViewDelegate
#pragma mark - KWMBannerView
-
(
NSInteger
)
numberOfSectionsInTableView
:
(
UITableView
*
)
tableView
{
return
self
.
bannerArray
.
count
;
}
-
(
NSInteger
)
tableView
:
(
UITableView
*
)
tableView
numberOfRowsInSection
:
(
NSInteger
)
section
{
return
1
;
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForFooterInSection
:
(
NSInteger
)
section
{
return
section
<
self
.
bannerArray
.
count
-
1
?
20
:
0
;
}
-
(
UIView
*
)
tableView
:
(
UITableView
*
)
tableView
viewForFooterInSection
:
(
NSInteger
)
section
{
UIView
*
view
=
[
UIView
new
];
view
.
backgroundColor
=
[
UIColor
clearColor
];
return
view
;
}
-
(
CGFloat
)
tableView
:
(
UITableView
*
)
tableView
heightForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
return
[
self
actrualBannerImageHeight
];
}
-
(
UITableViewCell
*
)
tableView
:
(
UITableView
*
)
tableView
cellForRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
UITableViewCell
*
cell
=
[
tableView
dequeueReusableCellWithIdentifier
:
@"bannerCell"
];
if
(
!
cell
)
{
cell
=
[[
UITableViewCell
alloc
]
initWithStyle
:
UITableViewCellStyleDefault
reuseIdentifier
:
@"bannerCell"
];
UIImageView
*
img
=
[[
UIImageView
alloc
]
initWithFrame
:
CGRectMake
(
0
,
0
,
UI_SCREEN_WIDTH
,
[
self
actrualBannerImageHeight
])];
img
.
tag
=
9
;
[
cell
.
contentView
addSubview
:
img
];
}
UIImageView
*
imageView
=
[
cell
viewWithTag
:
9
];
[
imageView
sd_setImageWithURL
:[[
NSURL
alloc
]
initWithString
:
self
.
bannerArray
[
indexPath
.
section
].
image
]];
return
cell
;
}
-
(
void
)
cycleScrollView
:
(
SDCycleScrollView
*
)
cycleScrollView
didSelectItemAtIndex
:
(
NSInteger
)
index
{
[
self
.
delegate
kwm_onClickHotSalesAd
:
self
.
bannerArray
[
index
]];
-
(
void
)
tableView
:
(
UITableView
*
)
tableView
didSelectRowAtIndexPath
:
(
NSIndexPath
*
)
indexPath
{
[
self
.
delegate
kwm_onClickHotSalesAd
:
self
.
bannerArray
[
index
Path
.
section
]];
}
//-(void)bannerView:(KWMBannerView *)bannerView onClickPage:(NSInteger)index{
...
...
iCemarose/Class/UI/NewHome/Cell/KWMHotSalesHeader.xib
View file @
8ea2bdaa
<?xml version="1.0" encoding="UTF-8"?>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.XIB"
version=
"3.0"
toolsVersion=
"13
196
"
targetRuntime=
"iOS.CocoaTouch"
propertyAccessControl=
"none"
useAutolayout=
"YES"
useTraitCollections=
"YES"
colorMatched=
"YES"
>
<document
type=
"com.apple.InterfaceBuilder3.CocoaTouch.XIB"
version=
"3.0"
toolsVersion=
"13
771
"
targetRuntime=
"iOS.CocoaTouch"
propertyAccessControl=
"none"
useAutolayout=
"YES"
useTraitCollections=
"YES"
colorMatched=
"YES"
>
<device
id=
"retina4_7"
orientation=
"portrait"
>
<adaptation
id=
"fullscreen"
/>
</device>
<dependencies>
<deployment
identifier=
"iOS"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"13174"
/>
<capability
name=
"Aspect ratio constraints"
minToolsVersion=
"5.1"
/>
<plugIn
identifier=
"com.apple.InterfaceBuilder.IBCocoaTouchPlugin"
version=
"13772"
/>
<capability
name=
"documents saved in the Xcode 8 format"
minToolsVersion=
"8.0"
/>
</dependencies>
<customFonts
key=
"customFonts"
>
...
...
@@ -17,6 +16,7 @@
<objects>
<placeholder
placeholderIdentifier=
"IBFilesOwner"
id=
"-1"
userLabel=
"File's Owner"
customClass=
"KWMHotSalesHeader"
>
<connections>
<outlet
property=
"bannerTableView"
destination=
"EKJ-I1-4G1"
id=
"RhA-CH-CaY"
/>
<outlet
property=
"bannerView"
destination=
"Ruv-UI-DGw"
id=
"USH-xg-KHp"
/>
<outlet
property=
"heightSingleShowView"
destination=
"SEw-Tw-g0a"
id=
"PcT-Pv-gcm"
/>
<outlet
property=
"singleShowView"
destination=
"UGY-II-IMu"
id=
"wxp-gP-PDh"
/>
...
...
@@ -29,15 +29,24 @@
<autoresizingMask
key=
"autoresizingMask"
widthSizable=
"YES"
heightSizable=
"YES"
/>
<subviews>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"Ruv-UI-DGw"
userLabel=
"热卖单品Banner"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"375"
height=
"190"
/>
<color
key=
"backgroundColor"
red=
"0.90588235289999997"
green=
"0.81960784310000001"
blue=
"0.74117647060000003"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"sRGB"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"375"
height=
"240"
/>
<subviews>
<tableView
clipsSubviews=
"YES"
contentMode=
"scaleToFill"
alwaysBounceVertical=
"YES"
style=
"plain"
separatorStyle=
"none"
rowHeight=
"-1"
estimatedRowHeight=
"-1"
sectionHeaderHeight=
"28"
sectionFooterHeight=
"28"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"EKJ-I1-4G1"
>
<rect
key=
"frame"
x=
"0.0"
y=
"0.0"
width=
"375"
height=
"240"
/>
<color
key=
"backgroundColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
</tableView>
</subviews>
<color
key=
"backgroundColor"
white=
"1"
alpha=
"1"
colorSpace=
"custom"
customColorSpace=
"genericGamma22GrayColorSpace"
/>
<constraints>
<constraint
firstAttribute=
"width"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"height"
multiplier=
"375:190"
id=
"wq7-qE-RyI"
/>
<constraint
firstItem=
"EKJ-I1-4G1"
firstAttribute=
"top"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"top"
id=
"CG0-K7-JZ2"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"EKJ-I1-4G1"
secondAttribute=
"trailing"
id=
"YyQ-Za-kLh"
/>
<constraint
firstItem=
"EKJ-I1-4G1"
firstAttribute=
"leading"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"leading"
id=
"k65-CS-YbE"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"EKJ-I1-4G1"
secondAttribute=
"bottom"
id=
"yvB-RP-bpr"
/>
</constraints>
</view>
<collectionView
clipsSubviews=
"YES"
multipleTouchEnabled=
"YES"
contentMode=
"scaleToFill"
scrollEnabled=
"NO"
showsHorizontalScrollIndicator=
"NO"
showsVerticalScrollIndicator=
"NO"
dataMode=
"none"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"UGY-II-IMu"
>
<rect
key=
"frame"
x=
"0.0"
y=
"
25
0"
width=
"375"
height=
"0.0"
/>
<color
key=
"backgroundColor"
white=
"1"
alpha=
"1"
colorSpace=
"c
alibratedWhit
e"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"
30
0"
width=
"375"
height=
"0.0"
/>
<color
key=
"backgroundColor"
white=
"1"
alpha=
"1"
colorSpace=
"c
ustom"
customColorSpace=
"genericGamma22GrayColorSpac
e"
/>
<constraints>
<constraint
firstAttribute=
"height"
id=
"SEw-Tw-g0a"
/>
</constraints>
...
...
@@ -49,7 +58,7 @@
</collectionViewFlowLayout>
</collectionView>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"d0n-L5-xP1"
userLabel=
"热卖单品title view"
>
<rect
key=
"frame"
x=
"0.0"
y=
"2
0
0"
width=
"375"
height=
"50"
/>
<rect
key=
"frame"
x=
"0.0"
y=
"2
5
0"
width=
"375"
height=
"50"
/>
<subviews>
<view
contentMode=
"scaleToFill"
translatesAutoresizingMaskIntoConstraints=
"NO"
id=
"uhq-ZL-9OL"
>
<rect
key=
"frame"
x=
"97.5"
y=
"24.5"
width=
"40"
height=
"1"
/>
...
...
@@ -87,14 +96,15 @@
</view>
</subviews>
<constraints>
<constraint
firstItem=
"UGY-II-IMu"
firstAttribute=
"top"
secondItem=
"d0n-L5-xP1"
secondAttribute=
"bottom"
id=
"0Aw-7H-DZa"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"UGY-II-IMu"
secondAttribute=
"trailing"
id=
"6ji-Iq-sFG"
/>
<constraint
firstItem=
"Ruv-UI-DGw"
firstAttribute=
"leading"
secondItem=
"iN0-l3-epB"
secondAttribute=
"leading"
id=
"9fw-Ph-Q4P"
/>
<constraint
firstItem=
"Ruv-UI-DGw"
firstAttribute=
"top"
secondItem=
"iN0-l3-epB"
secondAttribute=
"top"
id=
"AWZ-Bt-2gv"
/>
<constraint
firstItem=
"d0n-L5-xP1"
firstAttribute=
"top"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"bottom"
constant=
"10"
id=
"PCa-LX-p7a"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"trailing"
id=
"RLP-eB-Asb"
/>
<constraint
firstItem=
"d0n-L5-xP1"
firstAttribute=
"leading"
secondItem=
"iN0-l3-epB"
secondAttribute=
"leading"
id=
"g82-sr-LTG"
/>
<constraint
firstItem=
"UGY-II-IMu"
firstAttribute=
"top"
secondItem=
"d0n-L5-xP1"
secondAttribute=
"bottom"
id=
"gsh-qH-TNQ"
/>
<constraint
firstAttribute=
"trailing"
secondItem=
"d0n-L5-xP1"
secondAttribute=
"trailing"
id=
"iHt-uY-XiY"
/>
<constraint
firstItem=
"d0n-L5-xP1"
firstAttribute=
"top"
secondItem=
"Ruv-UI-DGw"
secondAttribute=
"bottom"
constant=
"10"
id=
"mHY-tR-D0I"
/>
<constraint
firstAttribute=
"bottom"
secondItem=
"UGY-II-IMu"
secondAttribute=
"bottom"
id=
"sKy-Ms-aeC"
/>
<constraint
firstItem=
"UGY-II-IMu"
firstAttribute=
"leading"
secondItem=
"iN0-l3-epB"
secondAttribute=
"leading"
id=
"whN-vO-ZIi"
/>
</constraints>
<nil
key=
"simulatedStatusBarMetrics"
/>
...
...
iCemarose/Class/UI/NewHome/KWMNewHomeVC.m
View file @
8ea2bdaa
...
...
@@ -278,6 +278,7 @@ typedef enum{
case
HeaderHotSales
:
headerView
=
[
collectionView
dequeueReusableSupplementaryViewOfKind
:
CHTCollectionElementKindSectionHeader
withReuseIdentifier
:[
KWMHotSalesHeader
kwmTag
]
forIndexPath
:
indexPath
];
if
(
headerView
.
subviews
.
count
==
0
){
self
.
hotSalesHeader
.
frame
=
CGRectMake
(
0
,
0
,
UI_SCREEN_WIDTH
,
heightHotSale
);
[
headerView
addSubview
:
self
.
hotSalesHeader
];
}
break
;
...
...
@@ -348,6 +349,7 @@ typedef enum{
[
self
.
client
getCollectionByHandle
:
handle
completion
:
^
(
BUYCollection
*
_Nullable
collection
,
NSError
*
_Nullable
error
)
{
if
(
!
error
)
{
[
self
.
client
getProductsPage
:
cpage
inCollection
:
collection
.
identifier
withTags
:
tags
sortOrder
:
BUYCollectionSortCollectionDefault
completion
:^
(
NSArray
<
BUYProduct
*>
*
_Nullable
products
,
NSUInteger
page
,
BOOL
reachedEnd
,
NSError
*
_Nullable
error
)
{
self
.
page
=
page
;
if
(
!
error
)
{
[
KWMPPCacheUtil
saveDataToCache
:
parameters
urlKey
:
CACHE_KEY_SDK_getCollectionByHandle_getProductsPage
products
:
products
];
[
self
setValue
:
products
forKeyPath
:
valueKeyPath
];
...
...
@@ -356,7 +358,7 @@ typedef enum{
// [self showError:error];
}
if
(
isHome
)
{
self
.
page
=
self
.
page
+
1
;
self
.
page
=
page
+
1
;
products
.
count
?
[
self
.
cvHome
.
mj_footer
endRefreshing
]
:
[
self
.
cvHome
.
mj_footer
endRefreshingWithNoMoreData
];
}
}];
...
...
@@ -390,6 +392,7 @@ typedef enum{
// [self.homeData.ad_banner[0] setUrl:@"https://www.cemarose.cn/collections/skirts/girls"];
self
.
adHeader
.
adArray
=
self
.
homeData
.
ad_banner
;
self
.
hotSalesHeader
.
bannerArray
=
self
.
homeData
.
hot_sales_ads
;
heightHotSale
=
UI_SCREEN_WIDTH
*
190
/
375
*
self
.
hotSalesHeader
.
bannerArray
.
count
+
60
+
(
self
.
hotSalesHeader
.
bannerArray
.
count
-
1
)
*
20
;
// self.homeData.hot_sales.single_show_count = @(1);
self
.
clothingSetsHeader
.
headerImage
=
self
.
homeData
.
clothing_sets
.
image
;
// self.homeData.clothing_sets.url =@"https://www.cemarose.cn/collections/skirts/girls+spring-summer-2016?title=ml";
...
...
@@ -404,11 +407,13 @@ typedef enum{
[
self
requestProductWithHandle
:
handle
tags
:
tags
valueKeyPath
:
@"clothingSetsHeader.productArray"
];
}
}
self
.
page
=
1
;
[
self
requestProductWithHandle
:
@"products-list-app-homepage"
tags
:
nil
valueKeyPath
:
@"productArray"
];
}
-
(
void
)
setProductArray
:
(
NSArray
<
BUYProduct
*>
*
)
productArray
{
if
(
!
_productArray
)
{
if
(
self
.
page
==
1
)
{
NSInteger
ssize
=
self
.
homeData
.
hot_sales
.
single_show_count
.
integerValue
;
NSInteger
count
=
productArray
.
count
;
self
.
hotSalesHeader
.
singleShowArray
=
count
<=
ssize
?
productArray
:
[
productArray
subarrayWithRange
:
NSMakeRange
(
0
,
ssize
)];
...
...
iCemarose/Class/UI/NewProduct/Cell/KWMSecondDetailView.h
View file @
8ea2bdaa
...
...
@@ -43,6 +43,8 @@
@property
(
nonatomic
)
NSString
*
brandDescription
;
@property
(
nonatomic
)
NSString
*
brandHandle
;
@property
(
nonatomic
)
NSInteger
count
;
//isSameBrand 是否同一品牌商品
...
...
iCemarose/Class/UI/NewProduct/Cell/KWMSecondDetailView.m
View file @
8ea2bdaa
...
...
@@ -198,5 +198,42 @@ static NSString *idStr = @"KWMNewGoodsCell";
}
-
(
NSString
*
)
brandDescription
{
NSDictionary
*
stories
=
@{
@"bonpoint"
:
@"1975年诞生于巴黎,Bonpoint小樱桃将高定时装工艺与唯美梦幻诗意相融合,加上独特的法式幽默,在全球范围内拥有包括皇室及明星在内的广泛爱好者。Bonpoint拥有服饰、配件、护肤与香氛等系列,对品质和细节的不懈追求沿用至每一处。"
,
@"boss"
:
@"成立于1924年,Boss是德国奢侈童装的代表。风格简约、剪裁精致、用料精良,Boss童装延续了其男装和女装的风格,为0至16岁的孩子提供了多种多样的穿着搭配。"
,
@"burberry"
:
@"Burberry是极具英国传统风格的奢侈品牌,是英国皇室御用品。设计活泼俏皮的Burberry童装系列,主打产品为格子风衣、连衣裙、长裤和鞋履"
,
@"caramel"
:
@"英国著名童装奢侈品Caramel ,是贝克汉姆的女儿贝小七最喜爱的御用品牌。天然有机的用料和手工细心的缝制承载着Caramel的用心,舒适的剪裁让孩子们可以尽情奔跑,充满现代感的设计让小朋友们爱不释手。"
,
@"chloe"
:
@"Chloé创立于1952年的法国巴黎,浪漫放松,休闲典雅,花卉图案的轻纱,轻轻地流线的衣服已成为Chloé的象征。摇曳生姿的花朵形状小洋装,营造着Chloé兼具复古甜美与古典优雅的时代形象。"
,
@"dolce-gabbana"
:
@"这是一个充满情感、传统、文化和地中海气息的世界。带有经典方巾印花的丝绸面料、缤纷的色彩、华美的配饰,打造出DOLCE&GABBANA特有的意大利风情。"
,
@"givenchy"
:
@"以华贵典雅的产品风格享誉时尚界三十余年的Givenchy,一直是时装界中的翘楚。Givenchy的4G标志分别代表古典 (Genteel)、优雅 (Grace)、愉悦 (Gaiety)以及Givenchy,这是当初法国设计大师Hubert de Givenchy创立Givenchy时所赋予的品牌精神。时至今日,虽历经不同的设计师,但Givenchy的4G精神却未曾变动过。"
,
@"gucci"
:
@"Gucci以提供质量上乘的产品,并以其出色的细节制作及设计成为最富有传奇历史色彩的品牌之一。它被认为是最梦寐以求的高级品牌,更被列入全世界最有价值的品牌之列。"
,
@"il-gufo"
:
@"IL Gufo是意大利的高品质手工童装品牌,采用通过严格考验的创新布料,灵感来自大自然的各种独有创意色彩,让童装在时尚的外表下仍保有应有的舒适感。"
,
@"kenzo"
:
@"Kenzo是日本设计师高田贤三创建的时尚品牌,打破传统的设计和东方诗意美一直延续在其时装设计中,宽松、自由的着装风格幻化出充满乐趣的五彩作品。"
,
@"lanvin"
:
@"法国历史最悠久的高级时装品牌Lavin创立于十九世纪。其创始人Jeanne Lanvin尤为擅长简单俐落的剪裁及颜色搭配,她开创的优雅精致的风格,为时尚界带来一股积淀着深厚文化底蕴的思潮。"
,
@"louis-louise"
:
@"Louis Louise来自法国巴黎,现代前卫的风格中带着细腻的复古细节并搭配轻薄精致的面料,用花卉、星星、条纹、印花图案、中性色彩与精致的版型裁剪打造时尚的儿童风格。"
,
@"marni"
:
@"Marni 来自意大利,以一种轻松宜人的风格,将早期的嬉皮风与现代感完美融合,色块的冲撞以及大配饰的运用,掳获了全球时尚人士的心。"
,
@"mini-rodini"
:
@"MINI RODINI由瑞典插画师Cassandra Rhodin成立于2006年,品牌以有趣、明亮和古怪的印花而闻名,充满活力的印花图案也表达出孩子了们的心声。MINI RODINI一直采用极好的面料并保持环保的生产方式,产品适合全年龄段的男孩和女孩。"
,
@"Moncler"
:
@"Moncler 之名取自法国阿尔卑斯山麓滑雪胜地 Monestier-de-Clermont,总部位于法国格勒诺布尔,是滑雪休闲服装品牌中的佼佼者。设计结合登山行家的专业知识,为时髦的款式注入实用功能。明星产品当然要数高保暖度却出奇轻巧的羽绒夹克,羊毛皮衬里靴子亦是物有所值。"
,
@"moschino"
:
@"来自时尚之都意大利米兰,Moschino的设计总是充满了戏谑的游戏感与幽默感,其童装沿袭了同样的风格,并在颜色和设计上稍作改进,使其更符合孩子们的喜好和穿着。"
,
@"msgm"
:
@"以玩味大胆的设计而闻名的MSGM,在童装设计上也同样追求创新和个性,品牌专注鲜艳亮色、前卫印花与有趣廓型,令热爱潮流的人士为之疯狂。"
,
@"paul-smith"
:
@"PAUL SMITH是来自英国的品牌,于2010年推出童装系列。彩色条纹是其独特的标志——由二十多种不同颜色组成的条纹总是会出现在Paul Smith的设计中,画面感十足并极富观赏性。"
,
@"stella-mccartney-kids"
:
@"Stella McCartney是披头士乐队贝斯手保罗麦卡尼的女儿,她设计的时装穿着舒适并具有现代风格,带给穿着者力量与自信。"
,
@"tartine-et-chocolat"
:
@"自1977年创立以来,Tartine et Chocolat一直忠于法国传统,并以典型的法式风格为宝宝准备最舒适的着装。其奢华精致的风格被称为儿童界的香奈儿。"
,
@"the-animals-observatory"
:
@"The Animals Observatory,被亲切地简称为TAO,这个来自西班牙巴塞罗那的品牌用张扬的设计与颜色搭配衬托出每个孩子的不同特色,受到了许多人的青睐。"
,
@"tiny-cottons"
:
@"成立于巴塞罗那的Tiny Cottons是优质的纯棉产品的代表。除了棉花制品,品牌还常常结合顶级的美利奴羊毛制作儿童服装,并不断的更新自己的颜色与印花,引领时尚潮流。"
,
@"veja"
:
@"Veja是来自法国的球鞋品牌,其精简时尚的设计受到很多潮流人士的追捧。Veja致力于生产时尚环保的休闲鞋履,每一双球鞋鞋底的橡胶原料,都坚持使用来自亚马逊河区的天然优质橡胶。"
,
@"wolf-rita"
:
@"来自葡萄牙的WOLF & RITA曾拥有超过30年制作衬衫的经验。WOLF & RITA艺术感十足,每一季都会用服装诠释一位著名艺术家的作品,趣味幽默和精致剪裁并存,受到许多热爱艺术的父母的喜爱。"
,
@"fendi"
:
@"Fendi成立于1925年,经过多年的发展成为了奢侈品牌界的翘楚。Fendi童装承袭主线品牌传统,并融入各式有趣的元素,为孩子编织出一个梦幻的童话世界。"
,
@"oeuf"
:
@"诞生于纽约上东区的OEUF并没有浮华夸张的纽约风格,而是注重环保与舒适的剪裁。除了服装,OEUF还创作了很多有趣的玩具和优雅的家居用品,深受全世界父母的喜爱。"
,
@"louise-misha"
:
@"两位设计师朋友在结伴到印度旅行的途中产生了做一个波西米亚风格童装品牌的想法,后来便有了LOUISE MISHA。柔软、复古和浓浓的波西米亚风情,创造了品牌独特的风格。"
,
@"pepe"
:
@"手工制鞋师Pèpè在意大利创立了Pèpè品牌,Pèpè采用舒适柔软的天然材料,加上精细的手工制作,舒适美观。"
,
@"mischka-aoki"
:
@"澳大利亚顶级童装品牌MISCHKA AOKI以其精湛的手工礼服和奢华的设计制作而被许多人熟知,丰富的细节和设计,让MISCHKA AOKI每一件小礼裙都能够让人细细品味很久。"
,
};
if
([
stories
objectForKey
:
self
.
brandHandle
])
{
return
[
stories
objectForKey
:
self
.
brandHandle
];
}
return
_brandDescription
;
}
@end
iCemarose/Class/UI/NewProduct/KWMNewProductVC.m
View file @
8ea2bdaa
...
...
@@ -661,6 +661,7 @@
[
self
.
client
getCollectionByHandle
:
handle
completion
:
^
(
BUYCollection
*
_Nullable
collection
,
NSError
*
_Nullable
error
)
{
if
(
collection
&&
!
error
){
weakSelf
.
detailView2
.
brandDescription
=
collection
.
stringDescription
;
weakSelf
.
detailView2
.
brandHandle
=
collection
.
handle
;
[
weakSelf
.
client
getProductsPage
:
page
inCollection
:
collection
.
identifier
completion
:^
(
NSArray
<
BUYProduct
*>
*
_Nullable
products
,
NSUInteger
page
,
BOOL
reachedEnd
,
NSError
*
_Nullable
error
)
{
weakSelf
.
detailView2
.
isLoadingSameBrand
=
NO
;
weakSelf
.
detailView2
.
brand
=
weakSelf
.
product
.
vendor
;
...
...
iCemarose/Info.plist
View file @
8ea2bdaa
...
...
@@ -15,7 +15,7 @@
<
k
e
y
>
CFBundlePackageType
<
/k
e
y
>
<
string
>
APPL
<
/string
>
<
k
e
y
>
CFBundleShortVersionString
<
/k
e
y
>
<
string
>
1.6.
5
<
/string
>
<
string
>
1.6.
7
<
/string
>
<
k
e
y
>
CFBundleSignature
<
/k
e
y
>
<
string
>
????
<
/string
>
<
k
e
y
>
CFBundleURLTypes
<
/k
e
y
>
...
...
@@ -56,7 +56,7 @@
<
/
d
i
c
t
>
<
/
a
rr
a
y
>
<
k
e
y
>
CFBundleVersion
<
/k
e
y
>
<
string
>
1.6.
5.4
<
/string
>
<
string
>
1.6.
7
<
/string
>
<
k
e
y
>
ITSAppUsesNonExemptEncryption
<
/k
e
y
>
<
fa
ls
e
/
>
<
k
e
y
>
LSApplicationQueriesSchemes
<
/k
e
y
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment