Commit 71b03f5d by houweibin

1,新主页面-分类页面。(未完成-未接入正式数据,该页面暂不显示出来,仍显示旧主页面-商品主页面。)

parent ecf2e870
......@@ -80,6 +80,16 @@
9BE61D011ECD71610031D21E /* KWMCartResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 9BE61D001ECD71610031D21E /* KWMCartResult.m */; };
C001BA5C1EB2ED5500B366A8 /* KWMImageBlurUtil.m in Sources */ = {isa = PBXBuildFile; fileRef = C001BA5B1EB2ED5500B366A8 /* KWMImageBlurUtil.m */; };
C0219A951DF53EB200711099 /* KWMExchangeRateResult.m in Sources */ = {isa = PBXBuildFile; fileRef = C0219A941DF53EB200711099 /* KWMExchangeRateResult.m */; };
C0243BBD1EFBD5A10013CFA7 /* Category.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C0243BAF1EFBD5A10013CFA7 /* Category.storyboard */; };
C0243BBE1EFBD5A10013CFA7 /* KWMLeftCategoryCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BB21EFBD5A10013CFA7 /* KWMLeftCategoryCell.m */; };
C0243BBF1EFBD5A10013CFA7 /* KWMLeftCategoryCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0243BB31EFBD5A10013CFA7 /* KWMLeftCategoryCell.xib */; };
C0243BC01EFBD5A10013CFA7 /* KWMRightProductCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BB51EFBD5A10013CFA7 /* KWMRightProductCell.m */; };
C0243BC11EFBD5A10013CFA7 /* KWMRightProductCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0243BB61EFBD5A10013CFA7 /* KWMRightProductCell.xib */; };
C0243BC21EFBD5A10013CFA7 /* KWMBrandFilterVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BB81EFBD5A10013CFA7 /* KWMBrandFilterVC.m */; };
C0243BC31EFBD5A10013CFA7 /* KWMCategoryVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BBA1EFBD5A10013CFA7 /* KWMCategoryVC.m */; };
C0243BC41EFBD5A10013CFA7 /* KWMProductFilterVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BBC1EFBD5A10013CFA7 /* KWMProductFilterVC.m */; };
C0243BC81EFBD6060013CFA7 /* KWMCategoryFilterTab.m in Sources */ = {isa = PBXBuildFile; fileRef = C0243BC61EFBD6060013CFA7 /* KWMCategoryFilterTab.m */; };
C0243BC91EFBD6060013CFA7 /* KWMCategoryFilterTab.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0243BC71EFBD6060013CFA7 /* KWMCategoryFilterTab.xib */; };
C02C7D801E640D82008DC29C /* libWeChatSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = C02C7D7B1E640D82008DC29C /* libWeChatSDK.a */; };
C02C7D811E640D82008DC29C /* README.txt in Resources */ = {isa = PBXBuildFile; fileRef = C02C7D7C1E640D82008DC29C /* README.txt */; };
C02C7D831E640FBF008DC29C /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C02C7D821E640FBF008DC29C /* SystemConfiguration.framework */; };
......@@ -444,6 +454,22 @@
C001BA5B1EB2ED5500B366A8 /* KWMImageBlurUtil.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMImageBlurUtil.m; sourceTree = "<group>"; };
C0219A931DF53EB200711099 /* KWMExchangeRateResult.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMExchangeRateResult.h; sourceTree = "<group>"; };
C0219A941DF53EB200711099 /* KWMExchangeRateResult.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMExchangeRateResult.m; sourceTree = "<group>"; };
C0243BAF1EFBD5A10013CFA7 /* Category.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Category.storyboard; sourceTree = "<group>"; };
C0243BB11EFBD5A10013CFA7 /* KWMLeftCategoryCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMLeftCategoryCell.h; sourceTree = "<group>"; };
C0243BB21EFBD5A10013CFA7 /* KWMLeftCategoryCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMLeftCategoryCell.m; sourceTree = "<group>"; };
C0243BB31EFBD5A10013CFA7 /* KWMLeftCategoryCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMLeftCategoryCell.xib; sourceTree = "<group>"; };
C0243BB41EFBD5A10013CFA7 /* KWMRightProductCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMRightProductCell.h; sourceTree = "<group>"; };
C0243BB51EFBD5A10013CFA7 /* KWMRightProductCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMRightProductCell.m; sourceTree = "<group>"; };
C0243BB61EFBD5A10013CFA7 /* KWMRightProductCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMRightProductCell.xib; sourceTree = "<group>"; };
C0243BB71EFBD5A10013CFA7 /* KWMBrandFilterVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMBrandFilterVC.h; sourceTree = "<group>"; };
C0243BB81EFBD5A10013CFA7 /* KWMBrandFilterVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMBrandFilterVC.m; sourceTree = "<group>"; };
C0243BB91EFBD5A10013CFA7 /* KWMCategoryVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMCategoryVC.h; sourceTree = "<group>"; };
C0243BBA1EFBD5A10013CFA7 /* KWMCategoryVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMCategoryVC.m; sourceTree = "<group>"; };
C0243BBB1EFBD5A10013CFA7 /* KWMProductFilterVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMProductFilterVC.h; sourceTree = "<group>"; };
C0243BBC1EFBD5A10013CFA7 /* KWMProductFilterVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMProductFilterVC.m; sourceTree = "<group>"; };
C0243BC51EFBD6060013CFA7 /* KWMCategoryFilterTab.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMCategoryFilterTab.h; sourceTree = "<group>"; };
C0243BC61EFBD6060013CFA7 /* KWMCategoryFilterTab.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMCategoryFilterTab.m; sourceTree = "<group>"; };
C0243BC71EFBD6060013CFA7 /* KWMCategoryFilterTab.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMCategoryFilterTab.xib; sourceTree = "<group>"; };
C02C7D7B1E640D82008DC29C /* libWeChatSDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; path = libWeChatSDK.a; sourceTree = "<group>"; };
C02C7D7C1E640D82008DC29C /* README.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README.txt; sourceTree = "<group>"; };
C02C7D7D1E640D82008DC29C /* WechatAuthSDK.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WechatAuthSDK.h; sourceTree = "<group>"; };
......@@ -1017,6 +1043,34 @@
path = Cell;
sourceTree = "<group>";
};
C0243BAE1EFBD5A10013CFA7 /* Category */ = {
isa = PBXGroup;
children = (
C0243BAF1EFBD5A10013CFA7 /* Category.storyboard */,
C0243BB01EFBD5A10013CFA7 /* Cell */,
C0243BB71EFBD5A10013CFA7 /* KWMBrandFilterVC.h */,
C0243BB81EFBD5A10013CFA7 /* KWMBrandFilterVC.m */,
C0243BB91EFBD5A10013CFA7 /* KWMCategoryVC.h */,
C0243BBA1EFBD5A10013CFA7 /* KWMCategoryVC.m */,
C0243BBB1EFBD5A10013CFA7 /* KWMProductFilterVC.h */,
C0243BBC1EFBD5A10013CFA7 /* KWMProductFilterVC.m */,
);
path = Category;
sourceTree = "<group>";
};
C0243BB01EFBD5A10013CFA7 /* Cell */ = {
isa = PBXGroup;
children = (
C0243BB11EFBD5A10013CFA7 /* KWMLeftCategoryCell.h */,
C0243BB21EFBD5A10013CFA7 /* KWMLeftCategoryCell.m */,
C0243BB31EFBD5A10013CFA7 /* KWMLeftCategoryCell.xib */,
C0243BB41EFBD5A10013CFA7 /* KWMRightProductCell.h */,
C0243BB51EFBD5A10013CFA7 /* KWMRightProductCell.m */,
C0243BB61EFBD5A10013CFA7 /* KWMRightProductCell.xib */,
);
path = Cell;
sourceTree = "<group>";
};
C02C7D7A1E640D82008DC29C /* WeChat */ = {
isa = PBXGroup;
children = (
......@@ -1197,6 +1251,7 @@
C034E6C31D6AECF9006EE129 /* UI */ = {
isa = PBXGroup;
children = (
C0243BAE1EFBD5A10013CFA7 /* Category */,
C0F586411E24F820001248E2 /* Product */,
C034E7B41D6B0805006EE129 /* Home */,
C034E7B51D6B0805006EE129 /* Mine */,
......@@ -1772,6 +1827,9 @@
C0CCB3B51EEA520C00BC2FB8 /* FilterView */ = {
isa = PBXGroup;
children = (
C0243BC51EFBD6060013CFA7 /* KWMCategoryFilterTab.h */,
C0243BC61EFBD6060013CFA7 /* KWMCategoryFilterTab.m */,
C0243BC71EFBD6060013CFA7 /* KWMCategoryFilterTab.xib */,
C0CCB3BE1EEA59A200BC2FB8 /* KWMFilterViewCell.h */,
C0CCB3BF1EEA59A200BC2FB8 /* KWMFilterViewCell.m */,
C0CCB3C01EEA59A200BC2FB8 /* KWMFilterViewCell.xib */,
......@@ -2053,9 +2111,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
C0243BBF1EFBD5A10013CFA7 /* KWMLeftCategoryCell.xib in Resources */,
C0F5867B1E24F820001248E2 /* KWMDoubleTitleView.xib in Resources */,
C034E8561D6B10A0006EE129 /* CoreSVP.bundle in Resources */,
C034E8591D6B10A0006EE129 /* SVProgressHUD.bundle in Resources */,
C0243BC11EFBD5A10013CFA7 /* KWMRightProductCell.xib in Resources */,
801230F31DD30704008C7904 /* KWMSearchBrandsCell.xib in Resources */,
C03120A71EF29B2900E49EFA /* 更新日志.txt in Resources */,
C084F4591D6D976F00A0625D /* KWMSearchBar.xib in Resources */,
......@@ -2077,12 +2137,14 @@
80E844291D7FB1130042AED2 /* KWMRuleView.xib in Resources */,
C034E6F61D6AF197006EE129 /* KWMPickView.xib in Resources */,
C0F586771E24F820001248E2 /* KWMCollectionCell.xib in Resources */,
C0243BBD1EFBD5A10013CFA7 /* Category.storyboard in Resources */,
C0F586791E24F820001248E2 /* KWMDetailCell.xib in Resources */,
C0F5867F1E24F820001248E2 /* KWMNewGoodsCell.xib in Resources */,
C0DD53101EE54A9E002D1E0C /* KWMBarandSelectView.xib in Resources */,
C066650C1D75A2E500F02EF4 /* Mine.storyboard in Resources */,
8077F79B1D73E39000A2E2E2 /* KWMBrandCaramelCell.xib in Resources */,
C034E6EB1D6AF0A0006EE129 /* Localizable.strings in Resources */,
C0243BC91EFBD6060013CFA7 /* KWMCategoryFilterTab.xib in Resources */,
C0F586AE1E279574001248E2 /* KWMBottomView.xib in Resources */,
C0392DBA1DCC38450051AC8E /* KWMShippingCell.xib in Resources */,
C0CCB3D01EEA765B00BC2FB8 /* KWMFilterTabItem.xib in Resources */,
......@@ -2214,6 +2276,7 @@
C0F5868F1E24F821001248E2 /* SVerticalView.m in Sources */,
801F87BC1DD1A9B90038FA4C /* KWMNewProducts.m in Sources */,
C0CC14061D7823B0007B5986 /* KWMShopCarCell.m in Sources */,
C0243BC81EFBD6060013CFA7 /* KWMCategoryFilterTab.m in Sources */,
9B8298E31EF22BE200743438 /* KWMCurrencyUtil.m in Sources */,
C034E6951D6AEB12006EE129 /* ViewController.m in Sources */,
C0DD53231EE55062002D1E0C /* KWMCarCountView.m in Sources */,
......@@ -2281,6 +2344,7 @@
C0DD53141EE54B96002D1E0C /* KWMSearchBrandView.m in Sources */,
C0CCB3C51EEA5A1100BC2FB8 /* UIView+Prettify.m in Sources */,
C034E8621D6B10A0006EE129 /* PBPGView.m in Sources */,
C0243BC01EFBD5A10013CFA7 /* KWMRightProductCell.m in Sources */,
C02C7DB41E67B56D008DC29C /* KWMFilterHeaderView.m in Sources */,
80ED0A371D93840A00B28DF2 /* DB_shopCart.xcdatamodeld in Sources */,
C0DD53391EE55190002D1E0C /* KWMSplashView.m in Sources */,
......@@ -2336,7 +2400,9 @@
C0219A951DF53EB200711099 /* KWMExchangeRateResult.m in Sources */,
9B18C11F1EF1270A001DD59B /* BUYProductVariant+Currency.m in Sources */,
C034E85A1D6B10A0006EE129 /* SVProgressHUD.m in Sources */,
C0243BBE1EFBD5A10013CFA7 /* KWMLeftCategoryCell.m in Sources */,
807AF4A81DC984950000A326 /* KWMSearchResult.m in Sources */,
C0243BC41EFBD5A10013CFA7 /* KWMProductFilterVC.m in Sources */,
C0DD533B1EE55190002D1E0C /* KWMSuperLoadingView.m in Sources */,
C034E85D1D6B10A0006EE129 /* PBConst.m in Sources */,
C0CCB3D11EEA765B00BC2FB8 /* KWMNormalFilterTab.m in Sources */,
......@@ -2353,6 +2419,7 @@
C034E7041D6AF205006EE129 /* RTSpinKitView.m in Sources */,
C0CCB3B91EEA579900BC2FB8 /* KWMFilterView.m in Sources */,
C05910941E34A729002990B3 /* KWMNewGiftCardCell.m in Sources */,
C0243BC31EFBD5A10013CFA7 /* KWMCategoryVC.m in Sources */,
C034E8411D6B10A0006EE129 /* CALayer+Transition.m in Sources */,
C077966F1EEAA2BE00CD6859 /* KWMFilterUtil.m in Sources */,
C034E8631D6B10A0006EE129 /* PBSaveBtn.m in Sources */,
......@@ -2364,6 +2431,7 @@
C02C7D9B1E642DED008DC29C /* KWMWeChatUtil.m in Sources */,
C034E6F11D6AF13A006EE129 /* KWMBasePageVC.m in Sources */,
C034E7031D6AF205006EE129 /* KWMLineView.m in Sources */,
C0243BC21EFBD5A10013CFA7 /* KWMBrandFilterVC.m in Sources */,
807AF4A41DC984950000A326 /* KWMBrandsResult.m in Sources */,
C034E8471D6B10A0006EE129 /* UIColor+Extend.m in Sources */,
C0DD53351EE55190002D1E0C /* ArcToCircleLayer.m in Sources */,
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "test_category@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "test_category@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "test_category_s@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "test_category_s@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12120" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="n8p-We-k4e">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="n8p-We-k4e">
<device id="retina4_7" orientation="portrait">
<adaptation id="fullscreen"/>
</device>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
......@@ -40,7 +40,7 @@
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="jDD-sy-yjq" kind="relationship" relationship="rootViewController" id="292-ga-aOC"/>
<segue destination="jDD-sy-yjq" kind="relationship" relationship="rootViewController" id="bR2-jH-asw"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="vdi-Dj-NbC" userLabel="First Responder" sceneMemberID="firstResponder"/>
......@@ -1068,6 +1068,131 @@
</objects>
<point key="canvasLocation" x="362" y="1361"/>
</scene>
<!--分类-->
<scene sceneID="YZB-pl-pf0">
<objects>
<viewController storyboardIdentifier="KWMCategoryVC" useStoryboardIdentifierAsRestorationIdentifier="YES" id="XF4-SN-2u5" userLabel="分类" customClass="KWMCategoryVC" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="LFG-xw-z2B"/>
<viewControllerLayoutGuide type="bottom" id="1gc-Cc-WaQ"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="bxl-E4-ZzW">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="cXh-fM-IFd" userLabel="content">
<rect key="frame" x="0.0" y="64" width="375" height="603"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aPr-fM-NN3" userLabel="left">
<rect key="frame" x="0.0" y="0.0" width="90" height="603"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" rowHeight="60" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="WcE-6c-JQz">
<rect key="frame" x="0.0" y="0.0" width="90" height="603"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<inset key="separatorInset" minX="0.0" minY="0.0" maxX="0.0" maxY="0.0"/>
<connections>
<outlet property="dataSource" destination="XF4-SN-2u5" id="KKb-QM-tsN"/>
<outlet property="delegate" destination="XF4-SN-2u5" id="caT-Rs-Faz"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="width" constant="90" id="05I-yh-57p"/>
<constraint firstItem="WcE-6c-JQz" firstAttribute="leading" secondItem="aPr-fM-NN3" secondAttribute="leading" id="3SB-Pg-ddU"/>
<constraint firstItem="WcE-6c-JQz" firstAttribute="top" secondItem="aPr-fM-NN3" secondAttribute="top" id="R9f-eI-lLB"/>
<constraint firstAttribute="trailing" secondItem="WcE-6c-JQz" secondAttribute="trailing" id="h9e-lp-TqK"/>
<constraint firstAttribute="bottom" secondItem="WcE-6c-JQz" secondAttribute="bottom" id="i8L-eH-rGH"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="y72-jv-wgp" userLabel="right">
<rect key="frame" x="90" y="0.0" width="285" height="603"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="SZ2-n1-t6Q" customClass="KWMCategoryFilterTab">
<rect key="frame" x="0.0" y="0.0" width="285" height="40"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="H9m-57-8FC"/>
</constraints>
</view>
<collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="J3W-GJ-IkI">
<rect key="frame" x="0.0" y="40" width="285" height="563"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<collectionViewFlowLayout key="collectionViewLayout" minimumLineSpacing="10" minimumInteritemSpacing="10" id="aHw-sn-1CW">
<size key="itemSize" width="50" height="50"/>
<size key="headerReferenceSize" width="0.0" height="0.0"/>
<size key="footerReferenceSize" width="0.0" height="0.0"/>
<inset key="sectionInset" minX="18" minY="10" maxX="18" maxY="0.0"/>
</collectionViewFlowLayout>
<cells>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="kQQ-r2-O5j">
<rect key="frame" x="18" y="10" width="50" height="50"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
<autoresizingMask key="autoresizingMask"/>
</view>
</collectionViewCell>
</cells>
<connections>
<outlet property="dataSource" destination="XF4-SN-2u5" id="H5G-lf-bUo"/>
<outlet property="delegate" destination="XF4-SN-2u5" id="8rc-fa-KyT"/>
</connections>
</collectionView>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="SZ2-n1-t6Q" secondAttribute="trailing" id="1jX-P6-ssM"/>
<constraint firstItem="SZ2-n1-t6Q" firstAttribute="top" secondItem="y72-jv-wgp" secondAttribute="top" id="LUc-fC-zqc"/>
<constraint firstAttribute="bottom" secondItem="J3W-GJ-IkI" secondAttribute="bottom" id="Yat-xS-TXJ"/>
<constraint firstItem="SZ2-n1-t6Q" firstAttribute="leading" secondItem="y72-jv-wgp" secondAttribute="leading" id="h82-Fs-VgP"/>
<constraint firstItem="J3W-GJ-IkI" firstAttribute="leading" secondItem="y72-jv-wgp" secondAttribute="leading" id="sNv-VZ-mmn"/>
<constraint firstItem="J3W-GJ-IkI" firstAttribute="top" secondItem="SZ2-n1-t6Q" secondAttribute="bottom" id="ss3-Um-Wh0"/>
<constraint firstAttribute="trailing" secondItem="J3W-GJ-IkI" secondAttribute="trailing" id="t3N-3e-6AN"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="a7V-Cz-8by">
<rect key="frame" x="0.0" y="0.0" width="375" height="1"/>
<color key="backgroundColor" red="0.72156862749999995" green="0.72156862749999995" blue="0.72156862749999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="qyv-6E-hBM"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="a7V-Cz-8by" firstAttribute="top" secondItem="cXh-fM-IFd" secondAttribute="top" id="1Ec-TC-VdX"/>
<constraint firstAttribute="trailing" secondItem="y72-jv-wgp" secondAttribute="trailing" id="50Y-st-NEU"/>
<constraint firstItem="aPr-fM-NN3" firstAttribute="top" secondItem="cXh-fM-IFd" secondAttribute="top" id="Izy-ws-MB0"/>
<constraint firstAttribute="bottom" secondItem="y72-jv-wgp" secondAttribute="bottom" id="Kma-rl-Ehb"/>
<constraint firstAttribute="trailing" secondItem="a7V-Cz-8by" secondAttribute="trailing" id="QMY-8J-3eE"/>
<constraint firstItem="a7V-Cz-8by" firstAttribute="leading" secondItem="cXh-fM-IFd" secondAttribute="leading" id="YrA-nN-aJw"/>
<constraint firstAttribute="bottom" secondItem="aPr-fM-NN3" secondAttribute="bottom" id="YxL-Et-F3n"/>
<constraint firstItem="y72-jv-wgp" firstAttribute="leading" secondItem="aPr-fM-NN3" secondAttribute="trailing" id="e5f-kB-7pb"/>
<constraint firstItem="aPr-fM-NN3" firstAttribute="leading" secondItem="cXh-fM-IFd" secondAttribute="leading" id="v3E-iq-bfz"/>
<constraint firstItem="y72-jv-wgp" firstAttribute="top" secondItem="cXh-fM-IFd" secondAttribute="top" id="vbg-45-PXr"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="0.95686274510000002" green="0.96078431369999995" blue="0.96862745100000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="cXh-fM-IFd" firstAttribute="leading" secondItem="bxl-E4-ZzW" secondAttribute="leading" id="nBW-PB-Lca"/>
<constraint firstItem="cXh-fM-IFd" firstAttribute="top" secondItem="bxl-E4-ZzW" secondAttribute="top" constant="64" id="rG9-rW-a8a"/>
<constraint firstItem="1gc-Cc-WaQ" firstAttribute="top" secondItem="cXh-fM-IFd" secondAttribute="bottom" id="szM-N2-yRc"/>
<constraint firstAttribute="trailing" secondItem="cXh-fM-IFd" secondAttribute="trailing" id="zT2-xf-zym"/>
</constraints>
</view>
<navigationItem key="navigationItem" id="J02-AV-DfW"/>
<connections>
<outlet property="cvRightProduct" destination="J3W-GJ-IkI" id="kWE-gq-N9P"/>
<outlet property="filterTab" destination="SZ2-n1-t6Q" id="yAR-xs-P4Z"/>
<outlet property="tbvLeftCategory" destination="WcE-6c-JQz" id="8Qg-Cg-qSz"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="F9A-3H-eGx" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="361" y="2035"/>
</scene>
</scenes>
<resources>
<image name="button_mine_log out" width="19" height="20"/>
......
......@@ -106,7 +106,8 @@
self.currentPage = 0;
if(self.collection!=nil && self.collection.identifier!=nil){
[self getProcduct:self.collection.identifier];
}}
}
}
- (void)initHeaderView{
......
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" 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="12089"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<scenes>
<!--商品筛选-->
<scene sceneID="X3q-qi-3sA">
<objects>
<viewController storyboardIdentifier="KWMProductFilterVC" useStoryboardIdentifierAsRestorationIdentifier="YES" id="TEh-g4-wcB" userLabel="商品筛选" customClass="KWMProductFilterVC" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="Ra2-YD-WKz"/>
<viewControllerLayoutGuide type="bottom" id="1vv-Oq-Uqe"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="IHC-vE-wq6">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Oqm-Et-6ge" userLabel="vContain">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="qYB-0D-qXj" userLabel="blank">
<rect key="frame" x="0.0" y="0.0" width="375" height="647"/>
<connections>
<action selector="onClickBlank:" destination="TEh-g4-wcB" eventType="touchUpInside" id="7e0-jo-6oQ"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="eCG-AA-PC9">
<rect key="frame" x="0.0" y="447" width="375" height="200"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bb7-Bc-HL1" customClass="KWMFilterView">
<rect key="frame" x="0.0" y="5" width="375" height="195"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="bb7-Bc-HL1" firstAttribute="top" secondItem="eCG-AA-PC9" secondAttribute="top" constant="5" id="AuA-dV-7dk"/>
<constraint firstItem="bb7-Bc-HL1" firstAttribute="leading" secondItem="eCG-AA-PC9" secondAttribute="leading" id="VHX-H1-PYQ"/>
<constraint firstAttribute="trailing" secondItem="bb7-Bc-HL1" secondAttribute="trailing" id="VWX-Gg-uib"/>
<constraint firstAttribute="height" constant="200" id="qHN-RX-Ceo"/>
<constraint firstAttribute="bottom" secondItem="bb7-Bc-HL1" secondAttribute="bottom" id="xyP-jW-kqj"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="eCG-AA-PC9" firstAttribute="leading" secondItem="Oqm-Et-6ge" secondAttribute="leading" id="Jxb-dj-e7T"/>
<constraint firstItem="qYB-0D-qXj" firstAttribute="leading" secondItem="Oqm-Et-6ge" secondAttribute="leading" id="QfB-wh-rtI"/>
<constraint firstAttribute="bottom" secondItem="qYB-0D-qXj" secondAttribute="bottom" id="Tgh-Xn-H8B"/>
<constraint firstAttribute="trailing" secondItem="qYB-0D-qXj" secondAttribute="trailing" id="au7-ca-voX"/>
<constraint firstAttribute="trailing" secondItem="eCG-AA-PC9" secondAttribute="trailing" id="lv8-S2-seX"/>
<constraint firstAttribute="bottom" secondItem="eCG-AA-PC9" secondAttribute="bottom" id="yBa-o3-ZnV"/>
<constraint firstItem="qYB-0D-qXj" firstAttribute="top" secondItem="Oqm-Et-6ge" secondAttribute="top" id="zoR-oT-lQY"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="1vv-Oq-Uqe" firstAttribute="top" secondItem="Oqm-Et-6ge" secondAttribute="bottom" id="Tpr-up-PbE"/>
<constraint firstAttribute="trailing" secondItem="Oqm-Et-6ge" secondAttribute="trailing" id="Y0G-RZ-KIM"/>
<constraint firstItem="Oqm-Et-6ge" firstAttribute="leading" secondItem="IHC-vE-wq6" secondAttribute="leading" id="d6a-dR-kin"/>
<constraint firstItem="Oqm-Et-6ge" firstAttribute="top" secondItem="Ra2-YD-WKz" secondAttribute="bottom" id="t3B-A6-EzB"/>
</constraints>
</view>
<connections>
<outlet property="filterView" destination="bb7-Bc-HL1" id="kWG-H1-0aI"/>
<outlet property="heightFilter" destination="qHN-RX-Ceo" id="c9Q-Bk-HYZ"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="1QQ-Ze-W7O" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-47" y="82"/>
</scene>
<!--品牌筛选-->
<scene sceneID="7gg-kS-ofd">
<objects>
<viewController storyboardIdentifier="KWMBrandFilterVC" useStoryboardIdentifierAsRestorationIdentifier="YES" id="zZW-kv-XMQ" userLabel="品牌筛选" customClass="KWMBrandFilterVC" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="uyf-ho-Bqd"/>
<viewControllerLayoutGuide type="bottom" id="nqh-fh-FwT"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="Lpv-oL-6yB">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="QfZ-Aw-MdM" userLabel="blank">
<rect key="frame" x="0.0" y="20" width="375" height="647"/>
<connections>
<action selector="onClickBlank:" destination="zZW-kv-XMQ" eventType="touchUpInside" id="3bh-EE-D8F"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GHd-VE-ogA">
<rect key="frame" x="0.0" y="100" width="375" height="567"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="44" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="t5a-a2-o1C">
<rect key="frame" x="0.0" y="0.0" width="375" height="486"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<connections>
<outlet property="dataSource" destination="zZW-kv-XMQ" id="VYK-ca-bH5"/>
<outlet property="delegate" destination="zZW-kv-XMQ" id="f5V-xK-Chf"/>
</connections>
</tableView>
<view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="GDj-66-xqa">
<rect key="frame" x="0.0" y="486" width="375" height="1"/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="qFZ-Mg-OcE"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0S9-md-Qhn">
<rect key="frame" x="20" y="497" width="335" height="50"/>
<color key="backgroundColor" red="0.14901960780000001" green="0.14901960780000001" blue="0.14901960780000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="50" id="UVo-oU-cbV"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="15"/>
<state key="normal" title="完成">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
<connections>
<action selector="onClickComplete:" destination="zZW-kv-XMQ" eventType="touchUpInside" id="9So-WY-sep"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="t5a-a2-o1C" secondAttribute="trailing" id="2D5-nQ-TtY"/>
<constraint firstItem="t5a-a2-o1C" firstAttribute="leading" secondItem="GHd-VE-ogA" secondAttribute="leading" id="Cms-mR-waF"/>
<constraint firstItem="0S9-md-Qhn" firstAttribute="top" secondItem="GDj-66-xqa" secondAttribute="bottom" constant="10" id="DgO-2Q-1XJ"/>
<constraint firstItem="0S9-md-Qhn" firstAttribute="leading" secondItem="GHd-VE-ogA" secondAttribute="leading" constant="20" id="KFl-ae-tM0"/>
<constraint firstItem="GDj-66-xqa" firstAttribute="leading" secondItem="GHd-VE-ogA" secondAttribute="leading" id="L3b-Q7-JXG"/>
<constraint firstAttribute="trailing" secondItem="GDj-66-xqa" secondAttribute="trailing" id="Mf7-pH-9sG"/>
<constraint firstItem="t5a-a2-o1C" firstAttribute="top" secondItem="GHd-VE-ogA" secondAttribute="top" id="Nu7-Fe-q8Y"/>
<constraint firstItem="GDj-66-xqa" firstAttribute="top" secondItem="t5a-a2-o1C" secondAttribute="bottom" id="cda-TS-pcZ"/>
<constraint firstAttribute="bottom" secondItem="0S9-md-Qhn" secondAttribute="bottom" constant="20" id="pKh-zN-j3U"/>
<constraint firstAttribute="trailing" secondItem="0S9-md-Qhn" secondAttribute="trailing" constant="20" id="u3s-IB-87P"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="GHd-VE-ogA" firstAttribute="leading" secondItem="Lpv-oL-6yB" secondAttribute="leading" id="JiU-zT-1aA"/>
<constraint firstItem="nqh-fh-FwT" firstAttribute="top" secondItem="GHd-VE-ogA" secondAttribute="bottom" id="SSw-P7-i4l"/>
<constraint firstAttribute="trailing" secondItem="GHd-VE-ogA" secondAttribute="trailing" id="aM3-S5-ZSF"/>
<constraint firstItem="QfZ-Aw-MdM" firstAttribute="top" secondItem="uyf-ho-Bqd" secondAttribute="bottom" id="fq9-Pm-AKg"/>
<constraint firstAttribute="trailing" secondItem="QfZ-Aw-MdM" secondAttribute="trailing" id="lnA-8W-CQ5"/>
<constraint firstItem="GHd-VE-ogA" firstAttribute="height" secondItem="Lpv-oL-6yB" secondAttribute="height" multiplier="0.85" id="mAI-T3-fvN"/>
<constraint firstItem="QfZ-Aw-MdM" firstAttribute="leading" secondItem="Lpv-oL-6yB" secondAttribute="leading" id="wGK-Kh-vJU"/>
<constraint firstAttribute="bottom" secondItem="QfZ-Aw-MdM" secondAttribute="bottom" id="z3z-7l-tya"/>
</constraints>
</view>
<connections>
<outlet property="tbvBrand" destination="t5a-a2-o1C" id="szS-m9-8P3"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="QHR-yO-W6A" userLabel="First Responder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="646" y="82"/>
</scene>
</scenes>
</document>
//
// KWMLeftCategoryCell.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface KWMLeftCategoryCell : UITableViewCell
@end
//
// KWMLeftCategoryCell.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMLeftCategoryCell.h"
#import "UIColor+SAMAdditions.h"
@interface KWMLeftCategoryCell()
@property (nonatomic,weak) IBOutlet UIImageView *ivCategory;
@property (nonatomic,weak) IBOutlet UILabel *lbTitle;
@end
@implementation KWMLeftCategoryCell
- (void)awakeFromNib {
[super awakeFromNib];
self.selectedBackgroundView = [[UIView alloc] initWithFrame:self.frame];
self.selectedBackgroundView.backgroundColor = [UIColor sam_colorWithHex:@"#F4F5F7"];
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
UIColor *textColor = selected?[UIColor sam_colorWithHex:@"#F1929A"]:[UIColor sam_colorWithHex:@"#545454"];
UIImage *image = selected?[UIImage imageNamed:@"test_category_s"]:[UIImage imageNamed:@"test_category"];
self.ivCategory.image = image;
self.lbTitle.textColor = textColor;
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" 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="12089"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="KWMLeftCategoryCell">
<rect key="frame" x="0.0" y="0.0" width="90" height="60"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
<rect key="frame" x="0.0" y="0.0" width="90" height="59.5"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JCm-bX-LN5">
<rect key="frame" x="0.0" y="0.0" width="90" height="59.5"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="test_category" translatesAutoresizingMaskIntoConstraints="NO" id="AgB-Gc-x75">
<rect key="frame" x="30" y="5" width="30" height="30"/>
<constraints>
<constraint firstAttribute="width" constant="30" id="Cwa-7S-AOw"/>
<constraint firstAttribute="height" constant="30" id="bVj-hu-0u2"/>
</constraints>
</imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="上衣" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="O2z-nf-pqq">
<rect key="frame" x="32" y="35" width="26.5" height="18.5"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="13"/>
<color key="textColor" red="0.32941176470588235" green="0.32941176470588235" blue="0.32941176470588235" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="AgB-Gc-x75" firstAttribute="centerX" secondItem="JCm-bX-LN5" secondAttribute="centerX" id="MZN-8r-ep6"/>
<constraint firstItem="O2z-nf-pqq" firstAttribute="centerX" secondItem="JCm-bX-LN5" secondAttribute="centerX" id="kO3-bC-3qr"/>
<constraint firstItem="AgB-Gc-x75" firstAttribute="top" secondItem="JCm-bX-LN5" secondAttribute="top" constant="5" id="x1h-iO-rkU"/>
<constraint firstItem="O2z-nf-pqq" firstAttribute="top" secondItem="AgB-Gc-x75" secondAttribute="bottom" id="xmQ-Sk-Eo7"/>
</constraints>
</view>
</subviews>
<constraints>
<constraint firstItem="JCm-bX-LN5" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="7zW-e0-FaU"/>
<constraint firstAttribute="trailing" secondItem="JCm-bX-LN5" secondAttribute="trailing" id="8bp-ge-oM8"/>
<constraint firstItem="JCm-bX-LN5" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="MZm-fF-F9Q"/>
<constraint firstAttribute="bottom" secondItem="JCm-bX-LN5" secondAttribute="bottom" id="umZ-4B-2Rg"/>
</constraints>
</tableViewCellContentView>
<connections>
<outlet property="ivCategory" destination="AgB-Gc-x75" id="DN6-Iw-76m"/>
<outlet property="lbTitle" destination="O2z-nf-pqq" id="Rzs-IN-Kho"/>
</connections>
</tableViewCell>
</objects>
<resources>
<image name="test_category" width="28" height="21"/>
</resources>
</document>
//
// KWMRightProductCell.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <Buy/Buy.h>
@interface KWMRightProductCell : UICollectionViewCell
@property(nonatomic) BUYProduct *product;
@end
//
// KWMRightProductCell.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMRightProductCell.h"
#import "KWMStringUtil.h"
#import "KWMImageUtil.h"
#import "UIImageView+WebCache.h"
#import "UIView+Prettify.h"
@interface KWMRightProductCell()
@property(nonatomic,weak) IBOutlet UIImageView *ivProduct;
@property(nonatomic,weak) IBOutlet UILabel *lbTitle;
@property(nonatomic,weak) IBOutlet UILabel *lbSinglePrice;
@property(nonatomic,weak) IBOutlet UILabel *lbPrice;
@property(nonatomic,weak) IBOutlet UILabel *lbCompareAtPrice;
@end
@implementation KWMRightProductCell
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
[self initDefaultShadow];
}
-(void)setProduct:(BUYProduct *)product{
if(!product){
return;
}
_product = product;
NSArray *variantsArray = product.variantsArray;
if(variantsArray && variantsArray.count > 0){
BUYProductVariant *variant = variantsArray.firstObject;
self.lbPrice.text = [KWMStringUtil price:variant.price];
self.lbSinglePrice.text = [KWMStringUtil price:variant.price];
self.lbCompareAtPrice.text = [KWMStringUtil price:variant.compareAtPrice];
}
NSString *imageUrl = [KWMImageUtil getProductImageUrl:product ImageSize:SmallImage];
NSURL *imageURL = [NSURL URLWithString:imageUrl];
[self.ivProduct sd_setImageWithURL:imageURL placeholderImage:[UIImage imageNamed:@"ic_loading"]];
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" 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="12089"/>
<capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" id="gTV-IL-0wX" customClass="KWMRightProductCell">
<rect key="frame" x="0.0" y="0.0" width="114" height="160"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="114" height="160"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6RZ-sx-2hd">
<rect key="frame" x="0.0" y="0.0" width="114" height="160"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="test_home_cloth_2" translatesAutoresizingMaskIntoConstraints="NO" id="6DX-no-pmZ">
<rect key="frame" x="0.0" y="0.0" width="114" height="114"/>
<constraints>
<constraint firstAttribute="width" secondItem="6DX-no-pmZ" secondAttribute="height" multiplier="1:1" id="N5Z-ct-bTC"/>
</constraints>
</imageView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="gsv-iF-IGT">
<rect key="frame" x="0.0" y="114" width="114" height="46"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="PATACHOU" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ggh-di-2Ij">
<rect key="frame" x="0.0" y="8.5" width="114" height="13"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="9"/>
<color key="textColor" red="0.3411764705882353" green="0.3411764705882353" blue="0.3411764705882353" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ur7-mG-15W" userLabel="对比价格">
<rect key="frame" x="0.0" y="23.5" width="114" height="15"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥295" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bhq-Ht-Wge">
<rect key="frame" x="0.0" y="0.0" width="51.5" height="15"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="11"/>
<color key="textColor" red="0.32941176470588235" green="0.32941176470588235" blue="0.32941176470588235" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥245" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="3ZE-zs-nrE">
<rect key="frame" x="62.5" y="0.0" width="51.5" height="15"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="11"/>
<color key="textColor" red="0.94509803921568625" green="0.5725490196078431" blue="0.60392156862745094" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="Bhq-Ht-Wge" secondAttribute="bottom" id="1jm-wh-5y3"/>
<constraint firstItem="Bhq-Ht-Wge" firstAttribute="top" secondItem="Ur7-mG-15W" secondAttribute="top" id="Kck-he-PX2"/>
<constraint firstAttribute="bottom" secondItem="3ZE-zs-nrE" secondAttribute="bottom" id="NpE-NN-eih"/>
<constraint firstAttribute="trailing" secondItem="3ZE-zs-nrE" secondAttribute="trailing" id="SJp-7P-oot"/>
<constraint firstItem="3ZE-zs-nrE" firstAttribute="width" secondItem="Ur7-mG-15W" secondAttribute="width" multiplier="0.46" id="aAo-ZX-wJ6"/>
<constraint firstItem="Bhq-Ht-Wge" firstAttribute="width" secondItem="Ur7-mG-15W" secondAttribute="width" multiplier="0.46" id="b49-OL-Yqe"/>
<constraint firstItem="3ZE-zs-nrE" firstAttribute="top" secondItem="Ur7-mG-15W" secondAttribute="top" id="iIe-kM-Q93"/>
<constraint firstAttribute="height" constant="15" id="l8m-oh-oNP"/>
<constraint firstItem="Bhq-Ht-Wge" firstAttribute="leading" secondItem="Ur7-mG-15W" secondAttribute="leading" id="z0E-US-TJb"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="¥245" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iF5-3T-lfP">
<rect key="frame" x="0.0" y="23" width="114" height="15"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="Jd0-hS-Uch"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="11"/>
<color key="textColor" red="0.94509803921568625" green="0.5725490196078431" blue="0.60392156862745094" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="ggh-di-2Ij" firstAttribute="centerX" secondItem="gsv-iF-IGT" secondAttribute="centerX" id="3ny-nL-o4x"/>
<constraint firstAttribute="trailing" secondItem="iF5-3T-lfP" secondAttribute="trailing" id="Ccv-qN-UpF"/>
<constraint firstItem="iF5-3T-lfP" firstAttribute="centerY" secondItem="gsv-iF-IGT" secondAttribute="centerY" constant="8" id="Tb5-y8-Krz"/>
<constraint firstItem="ggh-di-2Ij" firstAttribute="leading" secondItem="gsv-iF-IGT" secondAttribute="leading" id="Xzg-CK-eoG"/>
<constraint firstItem="iF5-3T-lfP" firstAttribute="leading" secondItem="gsv-iF-IGT" secondAttribute="leading" id="cyn-8j-Dsh"/>
<constraint firstAttribute="trailing" secondItem="Ur7-mG-15W" secondAttribute="trailing" id="exY-VK-3U8"/>
<constraint firstItem="ggh-di-2Ij" firstAttribute="centerY" secondItem="gsv-iF-IGT" secondAttribute="centerY" constant="-8" id="fZf-3C-XtA"/>
<constraint firstItem="Ur7-mG-15W" firstAttribute="centerY" secondItem="gsv-iF-IGT" secondAttribute="centerY" constant="8" id="lhg-GL-qFR"/>
<constraint firstAttribute="trailing" secondItem="ggh-di-2Ij" secondAttribute="trailing" id="m2a-vF-OFW"/>
<constraint firstItem="Ur7-mG-15W" firstAttribute="leading" secondItem="gsv-iF-IGT" secondAttribute="leading" id="qBP-Va-vMG"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="6DX-no-pmZ" firstAttribute="top" secondItem="6RZ-sx-2hd" secondAttribute="top" id="4qa-Hx-rnD"/>
<constraint firstItem="gsv-iF-IGT" firstAttribute="top" secondItem="6DX-no-pmZ" secondAttribute="bottom" id="7Z8-iI-Saf"/>
<constraint firstAttribute="trailing" secondItem="6DX-no-pmZ" secondAttribute="trailing" id="ARz-6J-Hqb"/>
<constraint firstItem="6DX-no-pmZ" firstAttribute="leading" secondItem="6RZ-sx-2hd" secondAttribute="leading" id="CWR-Xa-Ict"/>
<constraint firstAttribute="bottom" secondItem="gsv-iF-IGT" secondAttribute="bottom" id="fFr-W4-k6Y"/>
<constraint firstAttribute="trailing" secondItem="gsv-iF-IGT" secondAttribute="trailing" id="n0l-Hv-Kla"/>
<constraint firstItem="gsv-iF-IGT" firstAttribute="leading" secondItem="6RZ-sx-2hd" secondAttribute="leading" id="oSX-UK-9OF"/>
</constraints>
</view>
</subviews>
</view>
<constraints>
<constraint firstAttribute="bottom" secondItem="6RZ-sx-2hd" secondAttribute="bottom" id="3ID-fM-oJ3"/>
<constraint firstItem="6RZ-sx-2hd" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="6W2-FG-9GL"/>
<constraint firstAttribute="trailing" secondItem="6RZ-sx-2hd" secondAttribute="trailing" id="ILh-N7-Ay5"/>
<constraint firstItem="6RZ-sx-2hd" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="pT4-7r-pVf"/>
</constraints>
<connections>
<outlet property="ivProduct" destination="6DX-no-pmZ" id="Xcd-rq-wyd"/>
<outlet property="lbCompareAtPrice" destination="Bhq-Ht-Wge" id="Lmn-1o-uac"/>
<outlet property="lbPrice" destination="3ZE-zs-nrE" id="c9N-mU-0ZF"/>
<outlet property="lbSinglePrice" destination="iF5-3T-lfP" id="YXE-dF-fL2"/>
<outlet property="lbTitle" destination="ggh-di-2Ij" id="xpO-mv-XFa"/>
</connections>
</collectionViewCell>
</objects>
<resources>
<image name="test_home_cloth_2" width="140" height="140"/>
</resources>
</document>
//
// KWMBrandFilterVC.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/20.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMBaseVC.h"
@protocol KWMBrandFilterDelegate <NSObject>
- (void)kwm_onCancelBrandFilter;
- (void)kwm_onCompleteBrandFilter:(NSString *)selectBrand;
@end
@interface KWMBrandFilterVC : KWMBaseVC<UITableViewDelegate,UITableViewDataSource>
@property (nonatomic) NSArray *brandArray;
@property (nonatomic) NSString *selectBrand;
@property(nonatomic,weak) id<KWMBrandFilterDelegate> delegate;
@end
//
// KWMBrandFilterVC.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/20.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMBrandFilterVC.h"
#import "KWMSearchBrandsCell.h"
#import "UIColor+SAMAdditions.h"
#import "KWMStringUtil.h"
#import "NSString+PinYin.h"
@interface KWMBrandFilterVC ()
@property (nonatomic) NSArray *firstLetterArray;
@property (weak, nonatomic) IBOutlet UITableView *tbvBrand;
@end
@implementation KWMBrandFilterVC
- (void)viewDidLoad {
[super viewDidLoad];
[self.tbvBrand registerNib:[UINib nibWithNibName:NSStringFromClass([KWMSearchBrandsCell class]) bundle:nil] forCellReuseIdentifier:NSStringFromClass([KWMSearchBrandsCell class])];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
-(NSString *)selectBrand{
return _selectBrand?_selectBrand:@"";
}
-(void)setBrandArray:(NSArray *)brandArray{
if(brandArray){
_brandArray = brandArray;
self.firstLetterArray = [brandArray arrayWithPinYinFirstLetterFormat];
}
}
-(IBAction)onClickComplete:(id)sender{
if(self.delegate){
[self.delegate kwm_onCompleteBrandFilter:self.selectBrand];
}
[self dismissViewControllerAnimated:YES completion:^{
}];
}
-(IBAction)onClickBlank:(id)sender{
if(self.delegate){
[self.delegate kwm_onCancelBrandFilter];
}
[self dismissViewControllerAnimated:YES completion:^{
}];
}
#pragma mark - UITableViewDataSource
-(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return self.firstLetterArray?self.firstLetterArray.count:0;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if(self.firstLetterArray){
NSDictionary *dict = self.firstLetterArray[section];
NSMutableArray *array = dict[@"content"];
return array.count;
}
return 0;
}
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
KWMSearchBrandsCell *cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([KWMSearchBrandsCell class])];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
NSDictionary *dict = self.firstLetterArray[indexPath.section];
NSMutableArray *array = dict[@"content"];
NSString *brand = array[indexPath.row];
cell.lbBrand.text = brand;
cell.lbBrand.textColor = [brand isEqualToString:self.selectBrand]?[UIColor sam_colorWithHex:@"#F1929A"]:[UIColor sam_colorWithHex:@"#545454"];
return cell;
}
#pragma mark - UITableViewDelegate
-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
UIView *view = [[UIView alloc]init];
view.backgroundColor = [UIColor whiteColor];
UILabel *lbTitle = [[UILabel alloc] initWithFrame:CGRectMake(20, 0, 90, 40)];;
lbTitle.text = self.firstLetterArray[section][@"firstLetter"];
lbTitle.font = [UIFont systemFontOfSize:24];
[view addSubview:lbTitle];
UIView *vLine = [[UIView alloc] initWithFrame:CGRectMake(20, 39, UI_SCREEN_WIDTH - 40, 1)];
vLine.backgroundColor = [UIColor sam_colorWithHex:@"#F4F5F7"];
[view addSubview:vLine];
return view;
}
-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UI_SCREEN_WIDTH ,5)];
view.backgroundColor = [UIColor sam_colorWithHex:@"#F4F5F7"];
return view;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 40;
}
-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 5;
}
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSDictionary *dict = self.firstLetterArray[indexPath.section];
NSString *brand = [dict[@"content"] objectAtIndex:indexPath.row];
NSString *str = [KWMStringUtil deleteOtherCharExceptLetterWithLine:brand];
self.selectBrand = [brand isEqualToString:self.selectBrand]?@"":brand;
[self.tbvBrand reloadData];
}
#pragma mark - 索引
//添加TableView头视图标题
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
NSDictionary *dict = self.firstLetterArray[section];
NSString *title = dict[@"firstLetter"];
return title;
}
//添加索引栏标题数组
- (NSArray *)sectionIndexTitlesForTableView:(UITableView *)tableView{
NSMutableArray *resultArray = [NSMutableArray array];
for (NSDictionary *dict in self.firstLetterArray) {
NSString *title = dict[@"firstLetter"];
[resultArray addObject:title];
}
return resultArray;
}
//点击索引栏标题时执行
- (NSInteger)tableView:(UITableView *)tableView sectionForSectionIndexTitle:(NSString *)title atIndex:(NSInteger)index{
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:index]atScrollPosition:UITableViewScrollPositionTop animated:YES];
return index;
}
@end
//
// KWMCategoryVC.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMBaseVC.h"
#import "KWMCollectionRefreshUtil.h"
#import "KWMCategoryFilterTab.h"
#import "KWMProductFilterVC.h"
#import "KWMBrandFilterVC.h"
@interface KWMCategoryVC : KWMBaseVC<UICollectionViewDataSource,UICollectionViewDelegate,UITableViewDataSource,UITableViewDelegate,KWMCollectionRefreshDelegate,CategoryFilterTabDelegate,KWMProductFilterDelegate,KWMBrandFilterDelegate>
@end
//
// KWMCategoryVC.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMCategoryVC.h"
#import "KWMProductDetailVC.h"
#import "KWMLeftCategoryCell.h"
#import "KWMRightProductCell.h"
#import "KWMBrandsTypeModel.h"
#import "KWMSearchBar.h"
#import "KWMStringUtil.h"
#import "KWMFilterUtil.h"
#import "MJRefresh.h"
//#import <RXCollections/RXCollection.h>
@interface KWMCategoryVC ()
@property (nonatomic,weak) IBOutlet KWMCategoryFilterTab *filterTab;
@property (nonatomic,weak) IBOutlet UITableView *tbvLeftCategory;
@property (nonatomic,weak) IBOutlet UICollectionView *cvRightProduct;
@property(nonatomic) KWMCollectionRefreshUtil *refreshUtil;
@property (nonatomic) KWMSearchBar *searchBar;
@property (nonatomic) NSArray *allBrands;
@property(nonatomic) BUYCollectionSort sort;
@property(nonatomic) NSMutableArray<KWMFilter *> *selectFilters;
@property(nonatomic) NSString *selectBrands;
@end
@implementation KWMCategoryVC
- (void)awakeFromNib{
[super awakeFromNib];
self.title = @"分类";
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initView];
[self requestAllBrandsApi];
[self.refreshUtil reLoadData];
[self.cvRightProduct.mj_header beginRefreshing];
}
-(KWMCollectionRefreshUtil *)refreshUtil{
if(!_refreshUtil){
_refreshUtil = [KWMCollectionRefreshUtil new];
_refreshUtil.collectionView = self.cvRightProduct;
_refreshUtil.delegate = self;
_refreshUtil.emptyMsg = @" ";
}
return _refreshUtil;
}
-(void)initView{
[self initTitleView];
[self initTbvLeft];
[self initCvRight];
self.sort = BUYCollectionSortCreatedAscending;
self.selectBrands = @"";
}
-(void)initTbvLeft{
self.automaticallyAdjustsScrollViewInsets = NO;
[self.tbvLeftCategory registerNib:[UINib nibWithNibName:NSStringFromClass([KWMLeftCategoryCell class]) bundle:nil] forCellReuseIdentifier:NSStringFromClass([KWMLeftCategoryCell class])];
}
-(void)initCvRight{
[self.cvRightProduct registerNib:[UINib nibWithNibName:NSStringFromClass([KWMRightProductCell class]) bundle:nil] forCellWithReuseIdentifier:NSStringFromClass([KWMRightProductCell class])];
self.filterTab.delegate = self;
}
- (void)initTitleView{
[self.navigationController setNavigationBarHidden:YES];
//添加頭部header
self.searchBar = [[KWMSearchBar alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 64)];
// self.searchBar.delegate = self;
[self.view addSubview:_searchBar];
}
#pragma mark - UITableViewDataSource
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
KWMLeftCategoryCell *categoryCell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([KWMLeftCategoryCell class]) forIndexPath:indexPath];
return categoryCell;
}
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
return 20;
}
-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 0.01;
}
#pragma mark - UICollectionViewDataSource
-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
KWMRightProductCell *productCell = [collectionView dequeueReusableCellWithReuseIdentifier:NSStringFromClass([KWMRightProductCell class]) forIndexPath:indexPath];
productCell.product = (BUYProduct *)[self.refreshUtil.dataList objectAtIndex:indexPath.row];
return productCell;
}
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
NSInteger width = ( (UI_SCREEN_WIDTH - 90) - (18*3) )/2;
NSInteger height = width * 160 / 114 ;
CGSize size = CGSizeMake(width, height);
return size;
}
-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
return 1;
}
-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
return self.refreshUtil.dataList.count;
}
#pragma mark - UICollectionViewDelegate
-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
KWMProductDetailVC *productDetailVC = (KWMProductDetailVC *)[KWMProductDetailVC findControllerBy:[KWMProductDetailVC kwmTag] fromStoryboard:@"New"];
BUYProduct *product = (BUYProduct *)[self.refreshUtil.dataList objectAtIndex:indexPath.row];
productDetailVC.product = product;
[self.navigationController pushViewController:productDetailVC animated:YES];
}
#pragma mark - KWMCollectionRefreshDelegate
-(void)refreshUtil:(KWMCollectionRefreshUtil *)util onLoad:(NSInteger)page{
[self requestProducts:page];
}
#pragma mark - CategoryFilterTabDelegate
-(void)kwm_onClickTab:(KWMFilterMode)filterMode isExpandView:(BOOL)isExpand{
KWMBaseVC *tragetVC;
if(filterMode == ModeBrand){
KWMBrandFilterVC *brandFilterVC = (KWMBrandFilterVC *)[KWMBaseVC findControllerBy:[KWMBrandFilterVC kwmTag] fromStoryboard:@"Category"];
brandFilterVC.brandArray = self.allBrands;
brandFilterVC.delegate = self;
brandFilterVC.selectBrand = self.selectBrands;
tragetVC = brandFilterVC;
}else{
KWMProductFilterVC *productFilterVC = (KWMProductFilterVC *)[KWMBaseVC findControllerBy:[KWMProductFilterVC kwmTag] fromStoryboard:@"Category"];
productFilterVC.filterMode = filterMode;
productFilterVC.delegate = self;
productFilterVC.selectedSort = self.sort;
productFilterVC.selectedTags = self.selectFilters;
tragetVC = productFilterVC;
}
CGSize size = [UIScreen mainScreen].bounds.size;
[self showPresentation:tragetVC size:size tapOutsideClose:YES style:MZFormSheetPresentationTransitionStyleFade];
}
#pragma mark -
-(void)kwm_onCompleProductFilter:(KWMFilterView *)filterView{
self.selectFilters = filterView.selectedTags;
self.sort = filterView.selectedSort;
[self.filterTab close];
[self.refreshUtil reLoadData];
[self.cvRightProduct.mj_header beginRefreshing];
[self.cvRightProduct setContentOffset:CGPointMake(0,0) animated:YES];
}
-(void)kwm_onCancelProductFilter:(KWMFilterView *)filterView{
[self.filterTab close];
}
#pragma mark -
-(void)kwm_onCompleteBrandFilter:(NSString *)selectBrand{
self.selectBrands = selectBrand;
[self.filterTab close];
[self.refreshUtil reLoadData];
[self.cvRightProduct.mj_header beginRefreshing];
[self.cvRightProduct setContentOffset:CGPointMake(0,0) animated:YES];
}
-(void)kwm_onCancelBrandFilter{
[self.filterTab close];
}
#pragma mark - API KWMAPIManager.h
-(void)requestAllBrandsApi{
__weak KWMCategoryVC *weakSelf = self;
void(^failure)(NSURLSessionDataTask *,NSError *) = ^(NSURLSessionDataTask *task,NSError *error){
[weakSelf showError:error];
};
void(^success)(NSURLSessionDataTask *,KWMBrandsResult *) = ^(NSURLSessionDataTask *task,KWMBrandsResult *result){
if([weakSelf hasCemaroseError:result]){
return ;
}
self.allBrands = result.brands;
};
[self.api getAllBrand:nil success:success failure:failure];
}
#pragma mark - API BUYClient+Storefront.h
-(void)requestProducts:(NSInteger)page{
__weak KWMCategoryVC *weakSelf = self;
self.filterTab.userInteractionEnabled = false;
NSMutableArray *tags = [KWMFilterUtil getTagsByFilterArray:self.selectFilters];
if(![KWMStringUtil isEmpty:self.selectBrands]){
[tags addObject:self.selectBrands];
}
[self.client getProductsPage:page inCollection:@(171596038) withTags:tags sortOrder:self.sort completion:^(NSArray *products,NSUInteger page, BOOL reachedEnd, NSError *error){
[weakSelf.refreshUtil hideLoading];
weakSelf.filterTab.userInteractionEnabled = true;
if(error){
[weakSelf showError:error];
}
else{
weakSelf.refreshUtil.page = page;
weakSelf.refreshUtil.hasNextPage = !reachedEnd;
[weakSelf.refreshUtil appendDataList:products];
}
}];
}
@end
//
// KWMCategoryFilterVC.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/19.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMBaseVC.h"
#import "KWMFilterView.h"
@protocol KWMProductFilterDelegate <NSObject>
- (void)kwm_onCancelProductFilter:(KWMFilterView *)filterView;
- (void)kwm_onCompleProductFilter:(KWMFilterView *)filterView;
@end
@interface KWMProductFilterVC : KWMBaseVC<KWMFilterDelegate>
@property(nonatomic) KWMFilterMode filterMode;
@property(nonatomic,weak) id<KWMProductFilterDelegate> delegate;
@property(nonatomic) NSMutableArray<KWMFilter *> *selectedTags;
@property(nonatomic) BUYCollectionSort selectedSort;
@end
//
// KWMCategoryFilterVC.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/19.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMProductFilterVC.h"
#import "KWMCategoryFilterTab.h"
#import "KWMFilter.h"
@interface KWMProductFilterVC ()
@property(weak,nonatomic) IBOutlet UIView *bg;
@property(weak,nonatomic) IBOutlet KWMFilterView *filterView;
@property(weak,nonatomic) IBOutlet NSLayoutConstraint *heightFilter;
@end
@implementation KWMProductFilterVC
- (void)viewDidLoad {
[super viewDidLoad];
self.filterView.delegate = self;
self.filterView.selectedTags = _selectedTags;
self.filterView.selectedSortPosition = [self getSelectSortPosition:_selectedSort];
self.filterView.filterMode = self.filterMode;
self.heightFilter.constant = self.filterMode == ModeFilter?UI_SCREEN_HEITHT * 0.85:210;
}
-(NSInteger)getSelectSortPosition:(BUYCollectionSort)sort{
switch (sort) {
case BUYCollectionSortCreatedAscending:
return 0;
case BUYCollectionSortCreatedDescending:
return 1;
case BUYCollectionSortPriceAscending:
return 2;
case BUYCollectionSortPriceDescending:
return 3;
default:
return 0;
}
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
}
-(void)setFilterMode:(KWMFilterMode)filterMode{
_filterMode = filterMode;
}
-(void)setDelegate:(id<KWMProductFilterDelegate>)delegate{
_delegate = delegate;
}
-(BUYCollectionSort)selectedSort{
return self.filterView.selectedSort;
}
-(NSMutableArray<KWMFilter *> *)selectedTags{
return self.filterView.selectedTags;
}
-(void)kwm_onClickFilter:(KWMFilterView *)filterView{
if(self.delegate){
[self.delegate kwm_onCompleProductFilter:filterView];
}
[self dismissViewControllerAnimated:YES completion:^{
}];
}
-(IBAction)onClickBlank:(id)sender{
if(self.delegate){
[self.delegate kwm_onCancelProductFilter:self.filterView];
}
[self dismissViewControllerAnimated:YES completion:^{
}];
}
@end
......@@ -13,6 +13,7 @@
//#import <AMapLocationKit/AMapLocationKit.h>
#import "AppDelegate.h"
#import <SDWebImage/UIImageView+WebCache.h>
#import "MZFormSheetPresentationViewController.h"
#import "Buy/Buy.h"
......@@ -60,6 +61,8 @@
image:(UIImage *)image
action:(SEL)action;
- (void)showPresentation:(UIViewController *)vc size:(CGSize)size tapOutsideClose:(BOOL)tapOutsideClose style:(MZFormSheetPresentationTransitionStyle)style;
/**将URL转成UIImage*/
- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock;
@end
......@@ -508,6 +508,21 @@
return [[UIBarButtonItem alloc] initWithCustomView:btnView];
}
- (void)showPresentation:(UIViewController *)vc size:(CGSize)size tapOutsideClose:(BOOL)tapOutsideClose style:(MZFormSheetPresentationTransitionStyle)style {
MZFormSheetPresentationViewController *mz = [[MZFormSheetPresentationViewController alloc] initWithContentViewController:vc];
mz.presentationController.shouldDismissOnBackgroundViewTap = tapOutsideClose;
mz.presentationController.movementActionWhenKeyboardAppears = MZFormSheetActionWhenKeyboardAppearsCenterVertically;
mz.contentViewControllerTransitionStyle = style;
if (size.width > 0 && size.height > 0) {
mz.presentationController.contentViewSize = size;
}
mz.presentationController.shouldCenterVertically = YES;
[self presentViewController:mz
animated:YES
completion:nil];
}
/**将URL转成UIImage*/
- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder options:(SDWebImageOptions)options progress:(SDWebImageDownloaderProgressBlock)progressBlock completed:(SDWebImageCompletionBlock)completedBlock {
......
......@@ -459,19 +459,5 @@
}];
}
- (void)showPresentation:(UIViewController *)vc size:(CGSize)size tapOutsideClose:(BOOL)tapOutsideClose style:(MZFormSheetPresentationTransitionStyle)style {
MZFormSheetPresentationViewController *mz = [[MZFormSheetPresentationViewController alloc] initWithContentViewController:vc];
mz.presentationController.shouldDismissOnBackgroundViewTap = tapOutsideClose;
mz.presentationController.movementActionWhenKeyboardAppears = MZFormSheetActionWhenKeyboardAppearsCenterVertically;
mz.contentViewControllerTransitionStyle = style;
if (size.width > 0 && size.height > 0) {
mz.presentationController.contentViewSize = size;
}
mz.presentationController.shouldCenterVertically = YES;
[self presentViewController:mz
animated:YES
completion:nil];
}
@end
......@@ -682,6 +682,8 @@
-(void)goToWebPay{
KWMCheckoutWebViewVC *checkoutVC = (KWMCheckoutWebViewVC *)[KWMBaseVC findControllerBy:[KWMCheckoutWebViewVC kwmTag] fromStoryboard:@"ShopCart"];
checkoutVC.payURL = self.checkout.webCheckoutURL;
// checkoutVC.payURL = [NSURL URLWithString:@"http://wxpay.wxutil.com/mch/pay/h5.v2.php"];
[self.navigationController pushViewController:checkoutVC animated:YES];
}
......
......@@ -61,11 +61,6 @@
if (result) {
[self.dataList addObjectsFromArray:result];
}
if (!self.hasNextPage) {
self.collectionView.mj_footer.hidden = YES;
}else{
self.collectionView.mj_footer.hidden = NO;
}
[self.collectionView reloadData];
BOOL hide = self.dataList.count > 0;
self.emptyView.hidden = hide;
......@@ -134,6 +129,11 @@
return self.page == 1;
}
-(void)setHasNextPage:(BOOL)hasNextPage{
_hasNextPage = hasNextPage;
self.collectionView.mj_footer.hidden = !hasNextPage;
}
-(void)setCollectionView:(UICollectionView *)collectionView{
_collectionView = collectionView;
if (!self.hideHeader || !collectionView.mj_header) {
......@@ -168,12 +168,8 @@
}
- (void)reLoadData {
if(self.hideHeader){
self.lastResult = nil;
[self loadData];
}else{
[self.collectionView.mj_header beginRefreshing];
}
self.page = 0;
[self loadData];
}
-(void)clearData{
......@@ -183,7 +179,7 @@
}
- (void)loadData {
[self.delegate refreshUtil:self onLoad:self.page];
[self.delegate refreshUtil:self onLoad:self.page+1];
}
......
......@@ -49,6 +49,9 @@
//中文转拼音
+ (NSString *)transform:(NSString *)chinese;
+ (NSString *)price:(NSNumber *)price;
//欧元转人民币
//+ (NSString *)getEUR2CNYstring:(NSNumber *)price;
......
......@@ -502,4 +502,9 @@ static NSString *kEnglishNum = @"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstu
return CNYstring;
}
+ (NSString *)price:(NSNumber *)price{
NSString *CNYstring = [self getEUR2CNYstring:price];
return [NSString stringWithFormat:@"¥ %@",CNYstring];
}
@end
//
// KWMCategoryFilterView.h
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "KWMFilterTabItem.h"
@protocol CategoryFilterTabDelegate <NSObject>
- (void)kwm_onClickTab:(KWMFilterMode)filterMode isExpandView:(BOOL) isExpand;
@end
@interface KWMCategoryFilterTab : UIView<FilterTabItemDelegate>
@property(nonatomic,weak) id<CategoryFilterTabDelegate> delegate;
-(void)close;
@end
//
// KWMCategoryFilterView.m
// iCemarose
//
// Created by HouWeiBin on 2017/6/13.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMCategoryFilterTab.h"
#import "KWMFilterTabItem.h"
@interface KWMCategoryFilterTab()
@property(nonatomic,weak) IBOutlet UIView *containerView;
@property(nonatomic,weak) IBOutlet KWMFilterTabItem *vLeft;
@property(nonatomic,weak) IBOutlet KWMFilterTabItem *vMid;
@property(nonatomic,weak) IBOutlet KWMFilterTabItem *vRight;
@end
@implementation KWMCategoryFilterTab
-(void)awakeFromNib{
[super awakeFromNib];
[self initView];
}
-(void)initView{
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class])
owner:self
options:nil];
self.containerView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[self addSubview:self.containerView];
self.vLeft.filterMode = ModeFilter;
self.vMid.filterMode = ModeSort;
self.vRight.filterMode = ModeBrand;
self.vLeft.delegate = self;
self.vMid.delegate = self;
self.vRight.delegate = self;
}
-(void)kwm_onClickTabItem:(KWMFilterTabItem *)item isExpandView:(BOOL)isExpand{
self.vLeft.isExpand = item.filterMode == ModeFilter? isExpand: NO;
self.vMid.isExpand = item.filterMode == ModeSort? isExpand: NO;
self.vRight.isExpand = item.filterMode == ModeBrand? isExpand: NO;
if(self.delegate){
[self.delegate kwm_onClickTab:item.filterMode isExpandView:isExpand];
}
}
-(void)close{
self.vLeft.isExpand = NO;
self.vMid.isExpand = NO;
self.vRight.isExpand = NO;
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" 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="12121"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KWMCategoryFilterTab">
<connections>
<outlet property="containerView" destination="iN0-l3-epB" id="rga-XU-nmT"/>
<outlet property="vLeft" destination="pIt-FR-2d3" id="aJD-Te-qNW"/>
<outlet property="vMid" destination="BgV-Cs-T93" id="689-Y8-fc9"/>
<outlet property="vRight" destination="bMh-we-mKf" id="Cch-qd-rcw"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="280" height="40"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hky-Yx-Jv0">
<rect key="frame" x="0.0" y="0.0" width="280" height="40"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="pIt-FR-2d3" userLabel="筛选" customClass="KWMFilterTabItem">
<rect key="frame" x="5" y="0.0" width="60" height="40"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="orx-Hm-zrc"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BgV-Cs-T93" userLabel="排序" customClass="KWMFilterTabItem">
<rect key="frame" x="75" y="0.0" width="60" height="40"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="KA6-f5-9H0"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="bMh-we-mKf" userLabel="品牌" customClass="KWMFilterTabItem">
<rect key="frame" x="145" y="0.0" width="60" height="40"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="width" constant="60" id="uQF-4r-QOK"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="bottom" secondItem="pIt-FR-2d3" secondAttribute="bottom" id="5tl-08-vXE"/>
<constraint firstAttribute="bottom" secondItem="BgV-Cs-T93" secondAttribute="bottom" id="TgD-cE-Rcd"/>
<constraint firstItem="bMh-we-mKf" firstAttribute="top" secondItem="hky-Yx-Jv0" secondAttribute="top" id="UBx-8z-nlt"/>
<constraint firstAttribute="bottom" secondItem="bMh-we-mKf" secondAttribute="bottom" id="XVz-A3-InN"/>
<constraint firstItem="BgV-Cs-T93" firstAttribute="leading" secondItem="pIt-FR-2d3" secondAttribute="trailing" constant="10" id="dwH-1Q-9rb"/>
<constraint firstItem="pIt-FR-2d3" firstAttribute="leading" secondItem="hky-Yx-Jv0" secondAttribute="leading" constant="5" id="hGj-ZC-cRc"/>
<constraint firstItem="BgV-Cs-T93" firstAttribute="top" secondItem="hky-Yx-Jv0" secondAttribute="top" id="r2d-Wg-kMm"/>
<constraint firstItem="bMh-we-mKf" firstAttribute="leading" secondItem="BgV-Cs-T93" secondAttribute="trailing" constant="10" id="w6Z-Jv-HNW"/>
<constraint firstItem="pIt-FR-2d3" firstAttribute="top" secondItem="hky-Yx-Jv0" secondAttribute="top" id="zhJ-7s-W0q"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="trailing" secondItem="hky-Yx-Jv0" secondAttribute="trailing" id="6e7-sj-Ttl"/>
<constraint firstAttribute="bottom" secondItem="hky-Yx-Jv0" secondAttribute="bottom" id="Dmt-4T-UCD"/>
<constraint firstItem="hky-Yx-Jv0" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="WLB-Et-7EG"/>
<constraint firstItem="hky-Yx-Jv0" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="xe5-cH-vhG"/>
</constraints>
<nil key="simulatedStatusBarMetrics"/>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="-16" y="71"/>
</view>
</objects>
</document>
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12120" systemVersion="16E195" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="12121" systemVersion="16F73" 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="12088"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="12089"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
......@@ -37,7 +37,7 @@
</constraints>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<color key="tintColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
<gestureRecognizers/>
<constraints>
......@@ -50,7 +50,7 @@
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="X29-gf-6cs" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Ghd-H3-FZ6"/>
<constraint firstAttribute="trailing" secondItem="X29-gf-6cs" secondAttribute="trailing" id="UPA-c4-Vvd"/>
......
......@@ -36,6 +36,9 @@ typedef NS_ENUM(NSInteger, KWMFilterMode) {
@property(nonatomic) BUYCollectionSort selectedSort;
//默认为0 新-旧款 1-3依次对应 旧-新款 高-低价 低-高价
@property(nonatomic) NSInteger selectedSortPosition;
@property(nonatomic,weak) id<KWMFilterDelegate> delegate;
@end
......@@ -20,8 +20,6 @@ static NSString *filterDataString = @"[{\"group\":\"SEASON\",\"tags\":[\"Spring/
@property(weak,nonatomic) IBOutlet UICollectionView *cvFilter;
//默认为0 新-旧款 1-3依次对应 旧-新款 高-低价 低-高价
@property(nonatomic) NSInteger selectedSortPosition;
-(IBAction)onClickFilter:(id)sender;
......
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