Commit 78061d0a by houweibin

1,删除多余,旧,无用的代码文件。

parent a087a082
......@@ -252,10 +252,6 @@
C0F5867F1E24F820001248E2 /* KWMNewGoodsCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F586541E24F820001248E2 /* KWMNewGoodsCell.xib */; };
C0F586801E24F820001248E2 /* KWMNewTypeView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586561E24F820001248E2 /* KWMNewTypeView.m */; };
C0F586811E24F820001248E2 /* KWMNewTypeView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F586571E24F820001248E2 /* KWMNewTypeView.xib */; };
C0F586821E24F820001248E2 /* KWMTopView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586591E24F820001248E2 /* KWMTopView.m */; };
C0F586831E24F820001248E2 /* KWMTopView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F5865A1E24F820001248E2 /* KWMTopView.xib */; };
C0F586841E24F820001248E2 /* KWMWatchView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F5865C1E24F820001248E2 /* KWMWatchView.m */; };
C0F586851E24F820001248E2 /* KWMWatchView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F5865D1E24F820001248E2 /* KWMWatchView.xib */; };
C0F586871E24F820001248E2 /* KWMNewTypeSelectedVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586611E24F820001248E2 /* KWMNewTypeSelectedVC.m */; };
C0F586881E24F820001248E2 /* KWMNewVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586631E24F820001248E2 /* KWMNewVC.m */; };
C0F586891E24F820001248E2 /* KWMSearchFeedbackVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586651E24F820001248E2 /* KWMSearchFeedbackVC.m */; };
......@@ -268,8 +264,6 @@
C0F586951E25C17A001248E2 /* KWMProductDetailVC.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586941E25C17A001248E2 /* KWMProductDetailVC.m */; };
C0F5869B1E25D05F001248E2 /* KWMProductDetailView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F5869A1E25D05F001248E2 /* KWMProductDetailView.m */; };
C0F5869D1E25D3B6001248E2 /* KWMProductDetailView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F5869C1E25D3B6001248E2 /* KWMProductDetailView.xib */; };
C0F586A11E276E56001248E2 /* KWMRecommendView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F586A01E276E56001248E2 /* KWMRecommendView.xib */; };
C0F586A61E276EB7001248E2 /* KWMRecommendView.m in Sources */ = {isa = PBXBuildFile; fileRef = C0F586A51E276EB7001248E2 /* KWMRecommendView.m */; };
C0F586AE1E279574001248E2 /* KWMBottomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = C0F586AD1E279574001248E2 /* KWMBottomView.xib */; };
C0FC278E1D9B73B000C5CFFE /* KWMGiftCardCell.m in Sources */ = {isa = PBXBuildFile; fileRef = C0FC278D1D9B73B000C5CFFE /* KWMGiftCardCell.m */; };
/* End PBXBuildFile section */
......@@ -730,12 +724,6 @@
C0F586551E24F820001248E2 /* KWMNewTypeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMNewTypeView.h; sourceTree = "<group>"; };
C0F586561E24F820001248E2 /* KWMNewTypeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMNewTypeView.m; sourceTree = "<group>"; };
C0F586571E24F820001248E2 /* KWMNewTypeView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMNewTypeView.xib; sourceTree = "<group>"; };
C0F586581E24F820001248E2 /* KWMTopView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMTopView.h; sourceTree = "<group>"; };
C0F586591E24F820001248E2 /* KWMTopView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMTopView.m; sourceTree = "<group>"; };
C0F5865A1E24F820001248E2 /* KWMTopView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMTopView.xib; sourceTree = "<group>"; };
C0F5865B1E24F820001248E2 /* KWMWatchView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMWatchView.h; sourceTree = "<group>"; };
C0F5865C1E24F820001248E2 /* KWMWatchView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMWatchView.m; sourceTree = "<group>"; };
C0F5865D1E24F820001248E2 /* KWMWatchView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMWatchView.xib; sourceTree = "<group>"; };
C0F586601E24F820001248E2 /* KWMNewTypeSelectedVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMNewTypeSelectedVC.h; sourceTree = "<group>"; };
C0F586611E24F820001248E2 /* KWMNewTypeSelectedVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMNewTypeSelectedVC.m; sourceTree = "<group>"; };
C0F586621E24F820001248E2 /* KWMNewVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMNewVC.h; sourceTree = "<group>"; };
......@@ -758,9 +746,6 @@
C0F586991E25D05F001248E2 /* KWMProductDetailView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMProductDetailView.h; sourceTree = "<group>"; };
C0F5869A1E25D05F001248E2 /* KWMProductDetailView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMProductDetailView.m; sourceTree = "<group>"; };
C0F5869C1E25D3B6001248E2 /* KWMProductDetailView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMProductDetailView.xib; sourceTree = "<group>"; };
C0F586A01E276E56001248E2 /* KWMRecommendView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMRecommendView.xib; sourceTree = "<group>"; };
C0F586A41E276EB7001248E2 /* KWMRecommendView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMRecommendView.h; sourceTree = "<group>"; };
C0F586A51E276EB7001248E2 /* KWMRecommendView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMRecommendView.m; sourceTree = "<group>"; };
C0F586AD1E279574001248E2 /* KWMBottomView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = KWMBottomView.xib; sourceTree = "<group>"; };
C0FC278C1D9B73B000C5CFFE /* KWMGiftCardCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KWMGiftCardCell.h; sourceTree = "<group>"; };
C0FC278D1D9B73B000C5CFFE /* KWMGiftCardCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KWMGiftCardCell.m; sourceTree = "<group>"; };
......@@ -1741,18 +1726,9 @@
C0F586551E24F820001248E2 /* KWMNewTypeView.h */,
C0F586561E24F820001248E2 /* KWMNewTypeView.m */,
C0F586571E24F820001248E2 /* KWMNewTypeView.xib */,
C0F586581E24F820001248E2 /* KWMTopView.h */,
C0F586591E24F820001248E2 /* KWMTopView.m */,
C0F5865A1E24F820001248E2 /* KWMTopView.xib */,
C0F5865B1E24F820001248E2 /* KWMWatchView.h */,
C0F5865C1E24F820001248E2 /* KWMWatchView.m */,
C0F5865D1E24F820001248E2 /* KWMWatchView.xib */,
C0F586991E25D05F001248E2 /* KWMProductDetailView.h */,
C0F5869A1E25D05F001248E2 /* KWMProductDetailView.m */,
C0F5869C1E25D3B6001248E2 /* KWMProductDetailView.xib */,
C0F586A41E276EB7001248E2 /* KWMRecommendView.h */,
C0F586A51E276EB7001248E2 /* KWMRecommendView.m */,
C0F586A01E276E56001248E2 /* KWMRecommendView.xib */,
C08827A41E28B4AF006A8B91 /* KWMPageControl.h */,
C08827A51E28B4AF006A8B91 /* KWMPageControl.m */,
C02C7DA41E66B2AE008DC29C /* KWMFilterCell.h */,
......@@ -1937,7 +1913,6 @@
C0F5867D1E24F820001248E2 /* KWMFilterView.xib in Resources */,
C0F586811E24F820001248E2 /* KWMNewTypeView.xib in Resources */,
C0AF039F1DD5C8EE0060623F /* KWMNeedAddressView.xib in Resources */,
C0F586831E24F820001248E2 /* KWMTopView.xib in Resources */,
C084F4541D6D8CA700A0625D /* KWMBlogCell.xib in Resources */,
C05910951E34A729002990B3 /* KWMNewGiftCardCell.xib in Resources */,
C0CC14091D7823B0007B5986 /* KWMSizeCell.xib in Resources */,
......@@ -1966,11 +1941,9 @@
C034E8531D6B10A0006EE129 /* CoreSDWebImage.bundle in Resources */,
C066650A1D75A2E500F02EF4 /* KWMOrderCell.xib in Resources */,
8091DFB81D6EC1C60020519C /* KWMThreeView.xib in Resources */,
C0F586A11E276E56001248E2 /* KWMRecommendView.xib in Resources */,
8091DFB01D6EAD6F0020519C /* KWMSecondView.xib in Resources */,
80C801591D783B5100002306 /* KWMSearchFeedBackView.xib in Resources */,
8091DFA61D6EA0840020519C /* KWMLastView.xib in Resources */,
C0F586851E24F820001248E2 /* KWMWatchView.xib in Resources */,
8054B3241D743F81003A95D3 /* KWMBarandSelectView.xib in Resources */,
8079FF601D791C780037A71F /* KWMGoodsDetailsView.xib in Resources */,
C034E8601D6B10A0006EE129 /* PB.bundle in Resources */,
......@@ -2117,9 +2090,7 @@
C034E8421D6B10A0006EE129 /* NSArray+Extend.m in Sources */,
C034E85B1D6B10A0006EE129 /* LFRoundProgressView.m in Sources */,
80F82E611D704E34008B470B /* KWMBrandCell.m in Sources */,
C0F586A61E276EB7001248E2 /* KWMRecommendView.m in Sources */,
C034E6F51D6AF197006EE129 /* KWMPickView.m in Sources */,
C0F586821E24F820001248E2 /* KWMTopView.m in Sources */,
C034E8651D6B10A0006EE129 /* PhotoImageView.m in Sources */,
C034E6C81D6AED1F006EE129 /* KWMUser.m in Sources */,
C034E6F01D6AF13A006EE129 /* KWMBaseVC.m in Sources */,
......@@ -2161,7 +2132,6 @@
8077F79A1D73E39000A2E2E2 /* KWMBrandCaramelCell.m in Sources */,
9BE61D011ECD71610031D21E /* KWMCartResult.m in Sources */,
C084F4571D6D975400A0625D /* KWMSearchBar.m in Sources */,
C0F586841E24F820001248E2 /* KWMWatchView.m in Sources */,
C0E8AE091D7D030B00C193DC /* KWMEditAddressVC.m in Sources */,
807AF4A51DC984950000A326 /* KWMCustomerResult.m in Sources */,
C066650F1D7675FC00F02EF4 /* KWMAboutUsVC.m in Sources */,
......
//
// KWMRecommendView.h
// iCemarose
//
// Created by HouWeiBin on 2017/1/12.
// Copyright © 2017年 kollway. All rights reserved.
//
@interface KWMRecommendView : UIView
@end
//
// KWMRecommendView.m
// iCemarose
//
// Created by HouWeiBin on 2017/1/12.
// Copyright © 2017年 kollway. All rights reserved.
//
#import "KWMRecommendView.h"
@interface KWMRecommendView ()
@property(nonatomic,weak) IBOutlet UIView *vView;
@end
@implementation KWMRecommendView
- (id)init{
if (self=[super init]){
[self addView];
}
return self;
}
- (id)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self addView];
}
return self;
}
-(instancetype)initWithFrame:(CGRect)frame{
if (self =[super initWithFrame:frame]) {
[self addView];
}
return self;
}
-(void)awakeFromNib{
[super awakeFromNib];
}
-(void) addView{
[[NSBundle mainBundle] loadNibNamed:NSStringFromClass([self class])
owner:self
options:nil];
self.vView.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[self addSubview:self.vView];
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16A323" 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="11757"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KWMRecommendView">
<connections>
<outlet property="vView" destination="iN0-l3-epB" id="CGk-dt-HWg"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view alpha="0.5" contentMode="scaleToFill" id="iN0-l3-epB">
<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="wA7-ND-9g5" userLabel="vContent">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="其他商品" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="toe-XT-qob">
<rect key="frame" x="164" y="40" width="48" height="17"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
<color key="textColor" red="0.31764705882352939" green="0.31764705882352939" blue="0.31764705882352939" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9un-c8-kAy" userLabel="vLine">
<rect key="frame" x="222" y="48" width="48" height="1"/>
<color key="backgroundColor" red="0.84705882352941175" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="Ni4-cJ-xbS"/>
<constraint firstAttribute="width" constant="48" id="gEm-Fx-sLc"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CtM-w6-mDU" userLabel="vLine">
<rect key="frame" x="106" y="48" width="48" height="1"/>
<color key="backgroundColor" red="0.84705882352941175" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="48" id="KI2-lh-bb9"/>
<constraint firstAttribute="height" constant="1" id="hLE-7K-VpC"/>
</constraints>
</view>
<view userInteractionEnabled="NO" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dR5-aW-c7F" userLabel="vOther">
<rect key="frame" x="0.0" y="87" width="375" height="168"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="168" id="Vwk-5E-JPD"/>
</constraints>
</view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同类商品" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Kq4-Hb-gFn">
<rect key="frame" x="164" y="285" width="48" height="17"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="12"/>
<color key="textColor" red="0.31764705882352939" green="0.31764705882352939" blue="0.31764705882352939" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9Hp-N2-1ZZ" userLabel="vLine">
<rect key="frame" x="222" y="292.5" width="50" height="1"/>
<color key="backgroundColor" red="0.84705882352941175" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="width" constant="50" id="DgO-va-K5M"/>
<constraint firstAttribute="height" constant="1" id="gLa-Kj-QLQ"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fhc-3o-nM5" userLabel="vLine">
<rect key="frame" x="106" y="293" width="48" height="1"/>
<color key="backgroundColor" red="0.84705882352941175" green="0.85882352941176465" blue="0.87058823529411766" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="1" id="RNu-zb-ylR"/>
<constraint firstAttribute="width" constant="48" id="oK8-NQ-EfS"/>
</constraints>
</view>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qi5-GI-f2v" userLabel="vSame">
<rect key="frame" x="0.0" y="332" width="375" height="168"/>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstAttribute="height" constant="168" id="oGg-i4-uyu"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="fhc-3o-nM5" firstAttribute="centerY" secondItem="Kq4-Hb-gFn" secondAttribute="centerY" id="57D-4y-y4I"/>
<constraint firstItem="Kq4-Hb-gFn" firstAttribute="leading" secondItem="fhc-3o-nM5" secondAttribute="trailing" constant="10" id="9it-pa-N3K"/>
<constraint firstItem="CtM-w6-mDU" firstAttribute="centerY" secondItem="toe-XT-qob" secondAttribute="centerY" id="9sW-27-Gtf"/>
<constraint firstItem="dR5-aW-c7F" firstAttribute="leading" secondItem="wA7-ND-9g5" secondAttribute="leading" id="AZp-OL-Kgs"/>
<constraint firstItem="9Hp-N2-1ZZ" firstAttribute="leading" secondItem="Kq4-Hb-gFn" secondAttribute="trailing" constant="10" id="LIY-6m-4rd"/>
<constraint firstItem="toe-XT-qob" firstAttribute="centerX" secondItem="wA7-ND-9g5" secondAttribute="centerX" id="Ms5-9s-mfl"/>
<constraint firstItem="qi5-GI-f2v" firstAttribute="top" secondItem="Kq4-Hb-gFn" secondAttribute="bottom" constant="30" id="TaS-qt-KOu"/>
<constraint firstItem="toe-XT-qob" firstAttribute="leading" secondItem="CtM-w6-mDU" secondAttribute="trailing" constant="10" id="TcH-P5-XuB"/>
<constraint firstItem="9un-c8-kAy" firstAttribute="leading" secondItem="toe-XT-qob" secondAttribute="trailing" constant="10" id="W8e-SA-hhD"/>
<constraint firstItem="qi5-GI-f2v" firstAttribute="leading" secondItem="wA7-ND-9g5" secondAttribute="leading" id="Zer-mj-zRX"/>
<constraint firstItem="Kq4-Hb-gFn" firstAttribute="centerX" secondItem="wA7-ND-9g5" secondAttribute="centerX" id="bj0-Wj-AM8"/>
<constraint firstItem="9Hp-N2-1ZZ" firstAttribute="centerY" secondItem="Kq4-Hb-gFn" secondAttribute="centerY" id="eL7-ua-xFd"/>
<constraint firstItem="toe-XT-qob" firstAttribute="top" secondItem="wA7-ND-9g5" secondAttribute="top" constant="40" id="fBc-kv-O2a"/>
<constraint firstItem="dR5-aW-c7F" firstAttribute="top" secondItem="toe-XT-qob" secondAttribute="bottom" constant="30" id="hXg-No-M8O"/>
<constraint firstAttribute="trailing" secondItem="qi5-GI-f2v" secondAttribute="trailing" id="tPo-yl-ifG"/>
<constraint firstItem="Kq4-Hb-gFn" firstAttribute="top" secondItem="dR5-aW-c7F" secondAttribute="bottom" constant="30" id="trb-vq-Aei"/>
<constraint firstAttribute="trailing" secondItem="dR5-aW-c7F" secondAttribute="trailing" id="z4Q-pY-jLe"/>
<constraint firstItem="9un-c8-kAy" firstAttribute="centerY" secondItem="toe-XT-qob" secondAttribute="centerY" id="zcz-Nc-oc1"/>
</constraints>
</view>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="wA7-ND-9g5" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="301-K2-z5n"/>
<constraint firstAttribute="bottom" secondItem="wA7-ND-9g5" secondAttribute="bottom" id="K9x-dh-hP0"/>
<constraint firstAttribute="trailing" secondItem="wA7-ND-9g5" secondAttribute="trailing" id="TDa-t8-8Oj"/>
<constraint firstItem="wA7-ND-9g5" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" id="Yzg-9V-dQ8"/>
</constraints>
<point key="canvasLocation" x="67.5" y="74.5"/>
</view>
</objects>
</document>
//
// KWMTopView.h
// iCemarose
//
// Created by 陈荣科 on 16/9/6.
// Copyright © 2016年 kollway. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "KWMPointView.h"
#import "KWMWatchView.h"
#import "Buy/Buy.h"
@class KWMTopView;
@protocol KWMTopViewDelegate <NSObject>
- (void)kwm_wacthLargeImage:(NSMutableArray *)imageArr;
- (void)kwm_onClickInformationBtn;
- (void)kwm_onClickSizeBtn;
- (void)kwm_goToBrandVC:(NSString *)brand;
@end
@interface KWMTopView : UIView<UIScrollViewDelegate,UITableViewDelegate,UITableViewDataSource,UIGestureRecognizerDelegate,KWMWatchViewDelegate>
@property (weak, nonatomic) IBOutlet UIView *vContent;
@property (weak, nonatomic) IBOutlet UIScrollView *sclDetail;
@property (weak, nonatomic) IBOutlet UIButton *btnBrand;
@property (weak, nonatomic) IBOutlet UILabel *lbGoodName;
@property (weak, nonatomic) IBOutlet UILabel *lbPrice;
@property (weak, nonatomic) IBOutlet UILabel *lbDiscount;
@property (weak, nonatomic) IBOutlet UIButton *btnInformation;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *discountLeft;//左边间距
@property (nonatomic) NSMutableArray *imageArr;
@property (weak, nonatomic) id<KWMTopViewDelegate>delegate;
@property (nonatomic) KWMPointView *vPoint;
@property (nonatomic) BUYProduct *product;
- (void)setImage:(NSString *)imageurl;
-(void)setData:(BUYProduct *)product;
- (IBAction)onClickSizeBtn:(id)sender;
- (IBAction)onClickInformationBtn:(id)sender;
- (IBAction)onClickBlandBtn:(id)sender;
@end
//
// KWMTopView.m
// iCemarose
//
// Created by 陈荣科 on 16/9/6.
// Copyright © 2016年 kollway. All rights reserved.
//
#import "KWMTopView.h"
#import "KWMSelectSizeVC.h"
#import "KWMStringUtil.h"
#import "KWMDetailCell.h"
#import "KWMImageUtil.h"
#import "Buy/Buy.h"
#import "KWMStringUtil.h"
@implementation KWMTopView{
NSInteger index;
BOOL isShowCNY;
}
static NSString * idStr = @"KWMDetailCell";
#define sclHeight (UI_SCREEN_HEITHT-20-20-40-90-64)
- (instancetype)init{
if (self = [super init]) {
[self initContentView];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder{
if (self = [super initWithCoder:aDecoder]) {
[self initContentView];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame{
if (self = [super initWithFrame:frame]) {
[self initContentView];
}
return self;
}
- (void)awakeFromNib{
[super awakeFromNib];
[self initContentView];
}
- (void)initContentView{
[[NSBundle mainBundle] loadNibNamed:@"KWMTopView" owner:self options:nil];
[self addSubview:self.vContent];
self.vContent.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[self initScrollView];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onClickPrice:)];
UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onClickPrice:)];
[self.lbDiscount addGestureRecognizer:tapGesture];
[self.lbPrice addGestureRecognizer:tapGesture2];
// UITapGestureRecognizer *tapGesture2 = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(onClickPrice:)];
// [self.lbPrice addGestureRecognizer:tapGesture2];
isShowCNY = YES;
_imageArr = [NSMutableArray array];
}
- (void)initScrollView{
self.sclDetail.contentSize = CGSizeMake(UI_SCREEN_WIDTH, sclHeight*4);
self.sclDetail.pagingEnabled = YES;
self.sclDetail.delegate = self;
// for (int i = 0; i < 4; i++) {
//
// CGRect frame = CGRectMake(0, sclHeight*i, UI_SCREEN_WIDTH, sclHeight);
// KWMWatchView *vWatch = [[KWMWatchView alloc] initWithFrame:frame];
// vWatch.tagId = i;
// [self.sclDetail addSubview:vWatch];
// }
// _vPoint = [[KWMPointView alloc] initWithFrame:CGRectMake(10, 64, 8, sclHeight)];
// _vPoint.imageNum = 4;
// [self addSubview:_vPoint];
}
- (void)setData:(BUYProduct *)product{
if(product == nil){
return;
}
self.product = product;
//先显示空白的view
// [self initBlankScrollView];
[self initImage:product.identifier];
// NSArray<BUYImageLink*> *imageArray = product.imagesArray;
// if(imageArray == nil || imageArray.count == 0){
// return;
// }
// self.sclDetail.contentSize = CGSizeMake(UI_SCREEN_WIDTH, sclHeight*imageArray.count);
// for ( int i = 0; i < imageArray.count;i++){
// CGRect frame = CGRectMake(0, sclHeight*i, UI_SCREEN_WIDTH, sclHeight);
// KWMWatchView *vWatch = [[KWMWatchView alloc] initWithFrame:frame];
// vWatch.tagId = i;
// [self.sclDetail addSubview:vWatch];
// BUYImageLink *imageLink = [imageArray objectAtIndex:i];
// [vWatch setData:imageLink];
// }
// _vPoint = [[KWMPointView alloc] initWithFrame:CGRectMake(10, 64, 8, sclHeight)];
// _vPoint.imageNum = imageArray.count;
// [self addSubview:_vPoint];
self.lbPrice.hidden = NO;
self.discountLeft.constant = 5;
self.lbPrice.textAlignment = NSTextAlignmentLeft;
self.lbDiscount.textAlignment = NSTextAlignmentLeft;
[self.btnBrand setTitle:product.vendor forState:UIControlStateNormal];
// self.lbBrand.text = product.vendor;
self.lbGoodName.text = product.title;
BUYProductVariant *productVariant= product.variants.firstObject;
if (productVariant.compareAtPrice) {
NSString *priceString = [NSString stringWithFormat:@"¥%@",[KWMStringUtil getEUR2CNYstring:productVariant.compareAtPrice]];
NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:priceString attributes:attribtDic];
self.lbPrice.attributedText = attribtStr;
}else{
self.lbPrice.hidden = YES;
self.discountLeft.constant = -self.lbPrice.frame.size.width;
}
self.lbDiscount.text = [NSString stringWithFormat: @"¥%@", [KWMStringUtil getEUR2CNYstring:productVariant.price]];
}
//初始化空白数据
-(void)initBlankScrollView{
self.sclDetail.contentSize = CGSizeMake(UI_SCREEN_WIDTH, sclHeight*1);
CGRect frame = CGRectMake(0, sclHeight*0, UI_SCREEN_WIDTH, sclHeight);
KWMWatchView *vWatch = [[KWMWatchView alloc] initWithFrame:frame];
vWatch.tagId = 0;
if(self.product!=nil){
NSString *imageUrl = [KWMImageUtil getProductImageUrl:self.product.identifier ImageSize:BigImage];
[self.sclDetail addSubview:vWatch];
[vWatch setImage:imageUrl];
}
if(_vPoint!=nil){
[_vPoint removeFromSuperview];
_vPoint = nil;
}
}
-(void)onClickPrice:(UITapGestureRecognizer *)tap{
if(!self.product || !self.product.variants || self.product.variants.count == 0){
return;
}
isShowCNY = !isShowCNY;
BUYProductVariant *productVariant= self.product.variants.firstObject;
if (productVariant.compareAtPrice) {
NSString *priceString = @"";
if(isShowCNY){
priceString = [NSString stringWithFormat:@"¥%@",[KWMStringUtil getEUR2CNYstring:productVariant.compareAtPrice]];
}else{
priceString = [NSString stringWithFormat:@"€%@",productVariant.compareAtPrice.stringValue];
}
NSDictionary *attribtDic = @{NSStrikethroughStyleAttributeName: [NSNumber numberWithInteger:NSUnderlineStyleSingle]};
NSMutableAttributedString *attribtStr = [[NSMutableAttributedString alloc]initWithString:priceString attributes:attribtDic];
self.lbPrice.attributedText = attribtStr;
}
if(isShowCNY){
self.lbDiscount.text = [NSString stringWithFormat: @"¥%@", [KWMStringUtil getEUR2CNYstring:productVariant.price]];
}else{
self.lbDiscount.text = [NSString stringWithFormat: @"€%@", productVariant.price.stringValue];
}
}
#pragma mark -- KWMWatchViewDelegate
- (void)kwm_showLargeImage{
if (_imageArr.count == 0) {
return;
}
if ([self.delegate respondsToSelector:@selector(kwm_wacthLargeImage:)]) {
[self.delegate kwm_wacthLargeImage:_imageArr];
}
}
#pragma mark -- UIScrollViewDelegate
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
index = scrollView.contentOffset.y/sclHeight;
_vPoint.mark = index;
}
#pragma mark -- UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
return 2;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
if (section == 0) {
return 1;
}
return 0;
}
- (CGFloat)getSizeOfTextHeigth{
if(self.product == nil){
return 0;
}else{
NSString *detail = self.product.htmlDescription;
CGSize size = CGSizeMake(UI_SCREEN_WIDTH-40, 0);
CGSize reSize = [KWMStringUtil boundingRectWithSize:size text:detail testSize:12];
return reSize.height;
}
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
KWMDetailCell *deltailCell = [tableView dequeueReusableCellWithIdentifier:idStr forIndexPath:indexPath];
if (indexPath.section == 0 && self.product!=nil) {
deltailCell.lbText.text = self.product.htmlDescription;
}
deltailCell.selectionStyle = UITableViewCellSelectionStyleNone;
return deltailCell;
}
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
UIView *vHeard = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UI_SCREEN_WIDTH, 30)];
UIButton *btnTitle = [[UIButton alloc] initWithFrame:CGRectMake(0, 4, UI_SCREEN_WIDTH, 21)];
[btnTitle setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
btnTitle.titleLabel.font = [UIFont fontWithName:@"PingFang SC" size:15];
btnTitle.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
UIView *vLine = [[UIView alloc] initWithFrame:CGRectMake(0, 29, UI_SCREEN_WIDTH, 1)];
vLine.backgroundColor = [UIColor lightGrayColor];
[vHeard addSubview:btnTitle];
[vHeard addSubview:vLine];
if (section == 0) {
[btnTitle setTitle:@"详细说明" forState:UIControlStateNormal];
}else{
[btnTitle setTitle:@"发货与退货" forState:UIControlStateNormal];
[btnTitle addTarget:self action:@selector(onClickTitleBtn:) forControlEvents:UIControlEventTouchUpInside];
UIImageView *vImage = [[UIImageView alloc] initWithFrame:CGRectMake(UI_SCREEN_WIDTH-10-10-40, 7, 10, 16)];
vImage.image = [UIImage imageNamed:@"button_mine_more"];
[vHeard addSubview:vImage];
}
return vHeard;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
return [self getSizeOfTextHeigth] + 30;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
return 30;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
return 0.01;
}
- (void)onClickTitleBtn:(UIButton *)sender{
}
//点击size按钮
- (IBAction)onClickSizeBtn:(id)sender {
if ([self.delegate respondsToSelector:@selector(kwm_onClickSizeBtn)]) {
[self.delegate kwm_onClickSizeBtn];
}
}
//点击信息按钮
- (IBAction)onClickInformationBtn:(id)sender {
if ([self.delegate respondsToSelector:@selector(kwm_onClickInformationBtn)]) {
[self.delegate kwm_onClickInformationBtn];
}
}
//点击品牌按钮
- (IBAction)onClickBlandBtn:(id)sender{
if ([self.delegate respondsToSelector:@selector(kwm_goToBrandVC:)]) {
[self.delegate kwm_goToBrandVC:_product.vendor];
}
}
- (void)initImage:(NSNumber *)productId{
NSInteger imageCount = 1;
if(self.product!=nil && self.product.imagesArray!=nil){
imageCount = self.product.imagesArray.count;
}
self.sclDetail.contentSize = CGSizeMake(UI_SCREEN_WIDTH, sclHeight*imageCount);
for ( int i = 0; i < imageCount;i++){
CGRect frame = CGRectMake(0, sclHeight*i, UI_SCREEN_WIDTH, sclHeight);
KWMWatchView *vWatch = [[KWMWatchView alloc] initWithFrame:frame];
vWatch.tagId = i;
vWatch.delegate = self;
[self.sclDetail addSubview:vWatch];
NSString *imageUrl = [KWMImageUtil getProductImageUrlByPosition:self.product ImageSize:BigImage Position:i];
[vWatch setImage:imageUrl];
[_imageArr addObject:imageUrl];
}
if(_vPoint!=nil){
[_vPoint removeFromSuperview];
}
_vPoint = [[KWMPointView alloc] initWithFrame:CGRectMake(10, 64, 8, sclHeight)];
_vPoint.imageNum = imageCount;
[self addSubview:_vPoint];
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11762" systemVersion="16A323" 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="11757"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KWMTopView">
<connections>
<outlet property="btnBrand" destination="rwE-kO-TbL" id="EPc-7h-3AB"/>
<outlet property="btnInformation" destination="OA4-ix-h32" id="cxS-hb-aPS"/>
<outlet property="discountLeft" destination="QLw-U6-o2C" id="0jc-tC-oau"/>
<outlet property="lbDiscount" destination="XJc-mM-2Nc" id="e8j-db-Ket"/>
<outlet property="lbGoodName" destination="uDF-fC-cKH" id="cVn-Q9-Zg6"/>
<outlet property="lbPrice" destination="t63-Qk-JfH" id="VIh-SU-lcy"/>
<outlet property="sclDetail" destination="TJs-Oo-KVM" id="e7R-RQ-lYD"/>
<outlet property="vContent" destination="YKb-OI-ygX" id="BdC-4V-jDg"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="YKb-OI-ygX">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jfg-cf-5ng" userLabel="vMid">
<rect key="frame" x="0.0" y="497" width="375" height="170"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uDF-fC-cKH">
<rect key="frame" x="18" y="49" width="339" height="21"/>
<fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="15"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XJc-mM-2Nc" userLabel="lbDiscount">
<rect key="frame" x="113" y="70" width="90" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="90" id="F9M-Ye-M5Y"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="15"/>
<color key="textColor" red="1" green="0.56557797789999997" blue="0.1060702462" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OA4-ix-h32">
<rect key="frame" x="308" y="69.5" width="57" height="22"/>
<constraints>
<constraint firstAttribute="width" constant="57" id="aR8-Xi-nsS"/>
<constraint firstAttribute="height" constant="22" id="whs-Z0-Dk4"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Light" family="PingFang SC" pointSize="12"/>
<state key="normal" title="信息+">
<color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
<connections>
<action selector="onClickInformationBtn:" destination="-1" eventType="touchUpInside" id="xrI-IH-HZ7"/>
</connections>
</button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="owB-rF-CDe">
<rect key="frame" x="0.0" y="110" width="375" height="60"/>
<subviews>
<button hidden="YES" opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="9Zj-m1-j7u">
<rect key="frame" x="20" y="10" width="335" height="40"/>
<color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="aCp-vA-NIe"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="15"/>
<state key="normal" title="选择我的尺码">
<color key="titleColor" red="0.98903795809999995" green="0.98903795809999995" blue="0.98903795809999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
</state>
<connections>
<action selector="onClickSizeBtn:" destination="-1" eventType="touchUpInside" id="Asp-nD-QCI"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="9Zj-m1-j7u" firstAttribute="leading" secondItem="owB-rF-CDe" secondAttribute="leading" constant="20" id="01r-Qn-qIi"/>
<constraint firstAttribute="height" constant="60" id="PyA-H4-t1V"/>
<constraint firstItem="9Zj-m1-j7u" firstAttribute="centerY" secondItem="owB-rF-CDe" secondAttribute="centerY" id="VSM-vz-r8p"/>
<constraint firstAttribute="trailing" secondItem="9Zj-m1-j7u" secondAttribute="trailing" constant="20" id="hmQ-OX-Erg"/>
</constraints>
</view>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="rwE-kO-TbL">
<rect key="frame" x="18" y="10" width="339" height="39"/>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="19"/>
<state key="normal" title=" ">
<color key="titleColor" white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<connections>
<action selector="onClickBlandBtn:" destination="-1" eventType="touchUpInside" id="lOd-8j-opH"/>
</connections>
</button>
<label opaque="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" " lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t63-Qk-JfH" userLabel="lbPrice">
<rect key="frame" x="18" y="70" width="90" height="21"/>
<constraints>
<constraint firstAttribute="width" constant="90" id="eML-sr-eoM"/>
</constraints>
<fontDescription key="fontDescription" name="PingFangSC-Regular" family="PingFang SC" pointSize="15"/>
<color key="textColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<color key="backgroundColor" red="0.9882352941176471" green="0.9882352941176471" blue="0.9882352941176471" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="XJc-mM-2Nc" firstAttribute="top" secondItem="uDF-fC-cKH" secondAttribute="bottom" id="1jS-vt-wko"/>
<constraint firstItem="rwE-kO-TbL" firstAttribute="leading" secondItem="jfg-cf-5ng" secondAttribute="leading" constant="18" id="7yn-3C-icK"/>
<constraint firstItem="uDF-fC-cKH" firstAttribute="top" secondItem="rwE-kO-TbL" secondAttribute="bottom" id="E2K-tN-zaP"/>
<constraint firstAttribute="height" constant="170" id="Iog-jn-3Vu"/>
<constraint firstItem="rwE-kO-TbL" firstAttribute="top" secondItem="jfg-cf-5ng" secondAttribute="top" constant="10" id="L6j-Kd-Pmz"/>
<constraint firstItem="t63-Qk-JfH" firstAttribute="top" secondItem="XJc-mM-2Nc" secondAttribute="top" id="NyU-Km-z9B"/>
<constraint firstItem="XJc-mM-2Nc" firstAttribute="leading" secondItem="t63-Qk-JfH" secondAttribute="trailing" constant="5" id="QLw-U6-o2C"/>
<constraint firstAttribute="trailing" secondItem="uDF-fC-cKH" secondAttribute="trailing" constant="18" id="Qu1-ZR-QyX"/>
<constraint firstItem="t63-Qk-JfH" firstAttribute="bottom" secondItem="XJc-mM-2Nc" secondAttribute="bottom" id="Wyk-T0-Fff"/>
<constraint firstItem="owB-rF-CDe" firstAttribute="leading" secondItem="jfg-cf-5ng" secondAttribute="leading" id="X1q-TH-1K9"/>
<constraint firstItem="uDF-fC-cKH" firstAttribute="leading" secondItem="jfg-cf-5ng" secondAttribute="leading" constant="18" id="XXF-wD-eq0"/>
<constraint firstItem="OA4-ix-h32" firstAttribute="centerY" secondItem="XJc-mM-2Nc" secondAttribute="centerY" id="bYa-FP-1Gi"/>
<constraint firstAttribute="trailing" secondItem="rwE-kO-TbL" secondAttribute="trailing" constant="18" id="dff-S9-nL3"/>
<constraint firstAttribute="trailing" secondItem="OA4-ix-h32" secondAttribute="trailing" constant="10" id="fbB-wD-nCr"/>
<constraint firstAttribute="trailing" secondItem="owB-rF-CDe" secondAttribute="trailing" id="lII-Ex-WnU"/>
<constraint firstAttribute="bottom" secondItem="owB-rF-CDe" secondAttribute="bottom" id="v1I-nM-t9j"/>
<constraint firstItem="t63-Qk-JfH" firstAttribute="leading" secondItem="uDF-fC-cKH" secondAttribute="leading" id="z29-Yw-Z8d"/>
</constraints>
</view>
<scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsVerticalScrollIndicator="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TJs-Oo-KVM">
<rect key="frame" x="0.0" y="64" width="375" height="433"/>
<connections>
<outlet property="delegate" destination="-1" id="BJ6-YX-ZII"/>
</connections>
</scrollView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="jfg-cf-5ng" firstAttribute="top" secondItem="TJs-Oo-KVM" secondAttribute="bottom" id="7U1-KY-d1C"/>
<constraint firstAttribute="trailing" secondItem="jfg-cf-5ng" secondAttribute="trailing" id="HBV-Yk-bj2"/>
<constraint firstItem="TJs-Oo-KVM" firstAttribute="leading" secondItem="YKb-OI-ygX" secondAttribute="leading" id="Tlx-Jl-pLq"/>
<constraint firstAttribute="bottom" secondItem="jfg-cf-5ng" secondAttribute="bottom" id="ruE-4e-xZl"/>
<constraint firstAttribute="trailing" secondItem="TJs-Oo-KVM" secondAttribute="trailing" id="t6w-sr-6Qg"/>
<constraint firstItem="jfg-cf-5ng" firstAttribute="leading" secondItem="YKb-OI-ygX" secondAttribute="leading" id="uN2-y6-2IH"/>
<constraint firstItem="TJs-Oo-KVM" firstAttribute="top" secondItem="YKb-OI-ygX" secondAttribute="top" constant="64" id="xBP-cL-CPK"/>
</constraints>
<point key="canvasLocation" x="88.5" y="-33.5"/>
</view>
</objects>
</document>
//
// KWMWatchView.h
// iCemarose
//
// Created by 陈荣科 on 16/9/2.
// Copyright © 2016年 kollway. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "Buy/Buy.h"
#import "KWMImage.h"
@protocol KWMWatchViewDelegate <NSObject>
- (void)kwm_showLargeImage;
@end
@interface KWMWatchView : UIView
@property (weak, nonatomic) IBOutlet UIView *vContent;
@property (weak, nonatomic) IBOutlet UIImageView *ivShow;
@property (nonatomic) NSInteger tagId;
@property (nonatomic) KWMImage *imageLink;
@property (nonatomic) NSString *imageURL;
@property (weak, nonatomic) id<KWMWatchViewDelegate>delegate;
@property (nonatomic) UIView *vBackground;
- (void)setImage:(NSString *)imageurl;
- (void)setData:(KWMImage *)image;
@end
//
// KWMWatchView.m
// iCemarose
//
// Created by 陈荣科 on 16/9/2.
// Copyright © 2016年 kollway. All rights reserved.
//
#import "KWMWatchView.h"
#import "YYWebImage/YYWebImage.h"
#import "KWMStringUtil.h"
@implementation KWMWatchView
- (id)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if (self) {
[self initView];
}
return self;
}
- (void)awakeFromNib{
[super awakeFromNib];
[self initView];
}
- (void)initView{
[[NSBundle mainBundle] loadNibNamed:@"KWMWatchView" owner:self options:nil];
[self addSubview:self.vContent];
self.vContent.frame = CGRectMake(0, 0, self.frame.size.width, self.frame.size.height);
[self addSubview:_vContent];
UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(onClickImage:)];
[self.ivShow addGestureRecognizer:tapGesture];
self.ivShow.userInteractionEnabled = YES;
NSLog(@"image Height :%lf",self.frame.size.height);
// self.ivShow.layer.borderWidth = 1;
// self.ivShow.layer.borderColor = [UIColor redColor].CGColor;
}
- (void)onClickImage:(UITapGestureRecognizer *)tapGesture{
if ([KWMStringUtil isEmpty:_imageURL]) {
return;
}
NSURL *url = [NSURL URLWithString:_imageURL];
UIImage *image = [UIImage imageWithData:[NSData dataWithContentsOfURL:url]];
// [self addShowImage:image];
if ([self.delegate respondsToSelector:@selector(kwm_showLargeImage)]) {
[self.delegate kwm_showLargeImage];
}
}
//- (void)addShowImage:(UIImage *)image{
// UIView *vBackground = [[UIView alloc] initWithFrame:CGRectMake(0, 0, UI_SCREEN_WIDTH, UI_SCREEN_HEITHT)];
// vBackground.backgroundColor = [UIColor blackColor];
// _vBackground = vBackground;
// UITapGestureRecognizer *largeTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(leaveLargeImage)];
// [vBackground addGestureRecognizer:largeTap];
//
// vBackground.layer.borderWidth = 1;
// vBackground.layer.borderColor = [UIColor redColor].CGColor;
//
// [self.vContent addSubview:vBackground];
// UIImageView *vImage = [[UIImageView alloc] init];
// vImage.image = image;
// vImage.frame = _ivShow.frame;
// [vBackground addSubview:vImage];
//
// vImage.layer.borderWidth = 1;
// vImage.layer.borderColor = [UIColor greenColor].CGColor;
//
// [self shakeToShow:vBackground];
//}
//放大过程中出现的缓慢动画
//- (void)shakeToShow:(UIView*)aView{
// CAKeyframeAnimation* animation = [CAKeyframeAnimation animationWithKeyPath:@"transform"];
// animation.duration = 0.5;
// NSMutableArray *values = [NSMutableArray array];
// [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(0.1, 0.1, 1.0)]];
// [values addObject:[NSValue valueWithCATransform3D:CATransform3DMakeScale(1.0, 1.0, 1.0)]];
// animation.values = values;
// [aView.layer addAnimation:animation forKey:nil];
//}
//- (void)leaveLargeImage{
// [_vBackground removeFromSuperview];
//}
//
- (void)setImage:(NSString *)imageurl{
if([KWMStringUtil isEmpty:imageurl]){
return;
}
_imageURL = imageurl;
NSURL *imageURL = [NSURL URLWithString:imageurl];
[self.ivShow yy_setImageWithURL:imageURL options:YYWebImageOptionProgressive];
}
- (void)setData:(KWMImage *)image{
self.imageLink = image;
if(image!=nil && image.value!=nil){
NSURL *imageURL = [NSURL URLWithString:image.getBigImage]; //string>url
// 渐进式:边下载边显示
[self.ivShow yy_setImageWithURL:imageURL options:YYWebImageOptionProgressive];
// // 渐进式加载,增加模糊效果和渐变动画
// [self.ivShow yy_setImageWithURL:imageURL options:YYWebImageOptionProgressiveBlur|YYWebImageOptionSetImageWithFadeAnimation];
}
}
@end
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="11542" systemVersion="16B2555" 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="11524"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="KWMWatchView">
<connections>
<outlet property="ivShow" destination="GzB-SI-xEv" id="stu-Lp-rKs"/>
<outlet property="vContent" destination="TOA-vR-7co" id="Rfs-nL-xRh"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="TOA-vR-7co">
<rect key="frame" x="0.0" y="0.0" width="375" height="487"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="GzB-SI-xEv">
<rect key="frame" x="0.0" y="0.0" width="375" height="487"/>
</imageView>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="GzB-SI-xEv" firstAttribute="top" secondItem="TOA-vR-7co" secondAttribute="top" id="2n8-oh-7f0"/>
<constraint firstAttribute="bottom" secondItem="GzB-SI-xEv" secondAttribute="bottom" id="Gie-wx-LM2"/>
<constraint firstItem="GzB-SI-xEv" firstAttribute="leading" secondItem="TOA-vR-7co" secondAttribute="leading" id="HZT-Mu-7hb"/>
<constraint firstAttribute="trailing" secondItem="GzB-SI-xEv" secondAttribute="trailing" id="JcO-hR-fV2"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<point key="canvasLocation" x="161.5" y="-235.5"/>
</view>
</objects>
</document>
......@@ -13,7 +13,6 @@
#import "PhotoBroswerVC.h"
#import "KWMStringUtil.h"
#import "KWMShopCartData.h"
#import "KWMRecommendView.h"
#import "KWMInformationVC.h"
#import "KWMBrandCaramelVC.h"
#import "KWMSelectSizeVC.h"
......
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