两折卖----返利app-----返利圈

LZMShareGoodsView.m 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374
  1. //
  2. // LZMShareGoodsView.m
  3. // YouHuiProject
  4. //
  5. // Created by jcymac on 2018/5/18.
  6. // Copyright © 2018年 kuxuan. All rights reserved.
  7. //
  8. #import "LZMShareGoodsView.h"
  9. #define FitYHShareGoodsWidth(X) (X)
  10. #define FitYHShareGoodsHeight(X) (X)
  11. //#define FitYHShareGoodsWidth(X) (X)
  12. //#define FitYHShareGoodsHeight(X) (X)
  13. #define QRWidth (110)
  14. @interface LZMShareGoodsView(){
  15. NSInteger count;
  16. }
  17. //主图
  18. @property (strong, nonatomic) UIImageView *mainImageView;
  19. //商品标题
  20. @property (strong, nonatomic) UILabel *titleLabel;
  21. //商品券后价
  22. @property (strong, nonatomic) UILabel *ticketAfterPrice;
  23. //券钱
  24. @property (strong, nonatomic) UILabel *ticketPrice;
  25. //券钱
  26. //原始价格
  27. @property (strong, nonatomic) UILabel *originalPrice;
  28. //二维码图片
  29. @property (strong, nonatomic) UIImageView *QRcodeImageView;
  30. @property (strong, nonatomic) UIImageView *appImageView;
  31. @property (nonatomic, strong) UIImageView *userIcon;
  32. @property (nonatomic, strong) UILabel *nickName;
  33. @property (nonatomic, strong) UILabel *inviteCode;
  34. @property (nonatomic, strong) UILabel *commissionLabel;
  35. @end
  36. @implementation LZMShareGoodsView
  37. -(instancetype)initWithFrame:(CGRect)frame{
  38. if (self=[super initWithFrame:frame]) {
  39. }
  40. return self;
  41. }
  42. -(void)setModel:(LZMShareGoodsModel *)model{
  43. _model=model;
  44. [self addUI];
  45. [self adjustUI];
  46. [self otherOP];
  47. }
  48. -(void)drawRect:(CGRect)rect{
  49. [super drawRect:rect];
  50. }
  51. -(void)addUI{
  52. [self addSubview:self.titleLabel];
  53. [self addSubview:self.mainImageView];
  54. [self addSubview:self.ticketAfterPrice];
  55. [self addSubview:self.originalPrice];
  56. [self addSubview:self.ticketPrice];
  57. [self addSubview:self.QRcodeImageView];
  58. [self.QRcodeImageView addSubview:self.appImageView];
  59. [self addSubview:self.commissionLabel];
  60. [self addSubview:self.userIcon];
  61. [self addSubview:self.nickName];
  62. [self addSubview:self.inviteCode];
  63. }
  64. -(void)adjustUI{
  65. [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  66. make.left.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(20)));
  67. make.top.mas_equalTo(FitYHShareGoodsHeight(46));
  68. make.right.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(-20)));
  69. }];
  70. [self.mainImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  71. make.left.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(20)));
  72. make.top.equalTo(self.titleLabel.mas_bottom).offset(FitYHShareGoodsHeight(42));
  73. make.right.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(-20)));
  74. make.height.mas_equalTo(FitYHShareGoodsWidth(self.width-2*FITSIZE(20)));
  75. }];
  76. [self.ticketAfterPrice mas_makeConstraints:^(MASConstraintMaker *make) {
  77. make.left.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(50)));
  78. make.top.equalTo(self.mainImageView.mas_bottom).offset(FitYHShareGoodsHeight(40));
  79. }];
  80. [self.originalPrice mas_makeConstraints:^(MASConstraintMaker *make) {
  81. make.left.mas_equalTo(self.ticketAfterPrice.mas_right).mas_offset(5);
  82. make.centerY.mas_equalTo(self.ticketAfterPrice.mas_centerY);
  83. // make.width.mas_equalTo(FITSIZE(74));
  84. }];
  85. [self.QRcodeImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  86. make.right.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(-19)));
  87. make.top.equalTo(self.mainImageView.mas_bottom).offset(FitYHShareGoodsHeight(38));
  88. make.width.height.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(QRWidth)));
  89. }];
  90. [self.appImageView mas_makeConstraints:^(MASConstraintMaker *make) {
  91. make.left.equalTo(self.QRcodeImageView.mas_left);
  92. make.top.equalTo(self.QRcodeImageView.mas_bottom).offset(FitYHShareGoodsHeight(12));
  93. make.width.height.mas_equalTo(FitYHShareGoodsWidth(FITSIZE(18)));
  94. }];
  95. [self.commissionLabel mas_makeConstraints:^(MASConstraintMaker *make) {
  96. make.centerX.mas_equalTo(self.QRcodeImageView.mas_centerX);
  97. make.top.mas_equalTo(self.QRcodeImageView.mas_bottom).mas_offset(5);
  98. }];
  99. [self.userIcon mas_makeConstraints:^(MASConstraintMaker *make) {
  100. make.left.mas_equalTo(self.ticketAfterPrice.mas_left);
  101. make.top.mas_equalTo(self.ticketAfterPrice.mas_bottom).mas_offset(Fitsize(10));
  102. make.width.height.mas_equalTo(Fitsize(30));
  103. }];
  104. [self.nickName mas_makeConstraints:^(MASConstraintMaker *make) {
  105. make.left.mas_equalTo(self.userIcon.mas_right).mas_offset(5);
  106. make.centerY.mas_equalTo(self.userIcon.mas_centerY);
  107. make.width.mas_equalTo(Fitsize(100));
  108. make.height.mas_equalTo(Fitsize(20));
  109. }];
  110. [self.inviteCode mas_makeConstraints:^(MASConstraintMaker *make) {
  111. make.left.mas_equalTo(self.userIcon.mas_left);
  112. make.top.mas_equalTo(self.userIcon.mas_bottom).mas_equalTo(Fitsize(10));
  113. make.width.mas_equalTo(Fitsize(100));
  114. make.height.mas_equalTo(Fitsize(20));
  115. }];
  116. }
  117. - (void)setUserInfo:(NSDictionary *)userInfo {
  118. _userInfo = userInfo;
  119. [self.userIcon sd_setImageWithURL:[NSURL URLWithString:userInfo[@"headimg"]] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  120. count++;
  121. if (count > 1) {
  122. if (self.imgSuccBlock) {
  123. self.imgSuccBlock();
  124. }
  125. }
  126. }];
  127. self.nickName.text = userInfo[@"nickname"];
  128. self.inviteCode.text= [NSString stringWithFormat:@"邀请码:%@",userInfo[@"invite_code"]];
  129. }
  130. -(void)otherOP{
  131. self.backgroundColor=[UIColor yhGrayColor];
  132. [self.mainImageView sd_setImageWithURL:[NSURL URLWithString:self.model.mainImageUrl] placeholderImage:[UIImage imageNamed:@"share_goods_default_img"] completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
  133. count++;
  134. if (count > 1) {
  135. if (self.imgSuccBlock) {
  136. self.imgSuccBlock();
  137. }
  138. }
  139. }];
  140. }
  141. #pragma mark 懒加载
  142. -(UILabel *)titleLabel{
  143. if (!_titleLabel) {
  144. _titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(FitYHShareGoodsWidth(FITSIZE(20)), FitYHShareGoodsHeight(46), FitYHShareGoodsWidth(self.width-2*FITSIZE(20)), 0)];
  145. NSTextAttachment *textAttach = [[NSTextAttachment alloc]init];
  146. UIImage *img;
  147. if (self.model.shareGoodsFromType==YHShareGoodsFromTypeTianMao) {
  148. img= [UIImage imageNamed:@"share_title_tm"];
  149. }else if(self.model.shareGoodsFromType==YHShareGoodsFromTypeTaoBao){
  150. img= [UIImage imageNamed:@"share_title_tb"];
  151. }
  152. if (img) {
  153. textAttach.image = img;
  154. }
  155. NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@" %@",self.model.title]];
  156. NSAttributedString *string = [NSAttributedString attributedStringWithAttachment:textAttach];
  157. [attri insertAttributedString:string atIndex:0];
  158. _titleLabel.attributedText = attri;
  159. // _titleLabel.text=@"虹小型电风扇迷你手持电扇USB学生宿舍 ";
  160. _titleLabel.numberOfLines=2;
  161. [_titleLabel sizeToFit];
  162. }
  163. return _titleLabel;
  164. }
  165. -(UIImageView *)mainImageView{
  166. if (!_mainImageView) {
  167. _mainImageView=[[UIImageView alloc]initWithFrame:CGRectMake(FitYHShareGoodsWidth(FITSIZE(20)), self.titleLabel.bottom+FitYHShareGoodsHeight(42), FitYHShareGoodsWidth(self.width-2*FITSIZE(20)), FitYHShareGoodsWidth((self.width-2*FITSIZE(20))))];
  168. }
  169. return _mainImageView;
  170. }
  171. -(UILabel *)ticketAfterPrice{
  172. if (!_ticketAfterPrice) {
  173. _ticketAfterPrice=[[UILabel alloc]initWithFrame:CGRectMake(FitYHShareGoodsWidth(FITSIZE(15)), self.mainImageView.bottom+FitYHShareGoodsHeight(40), 0, 0)];
  174. if (self.model.shareGoodsPurchaseType==YHShareGoodsPurchaseTypeCoupons) {
  175. _ticketAfterPrice.text=[NSString stringWithFormat:@"券后价¥%@",self.model.ticketAfterPrice];
  176. }else{
  177. _ticketAfterPrice.text=[NSString stringWithFormat:@"折后价¥%@",self.model.ticketAfterPrice];
  178. }
  179. _ticketAfterPrice.font=[UIFont systemFontOfSize:15.0f];
  180. _ticketAfterPrice.textColor=[UIColor YHColorWithHex:0xEE1515];
  181. [_ticketAfterPrice sizeToFit];
  182. }
  183. return _ticketAfterPrice;
  184. }
  185. -(UILabel *)originalPrice{
  186. if (!_originalPrice) {
  187. _originalPrice=[[UILabel alloc]initWithFrame:CGRectMake(self.ticketAfterPrice.right+5, self.ticketAfterPrice.y, 0, 0)];
  188. // _originalPrice.centerY = self.ticketAfterPrice.centerY;
  189. NSString *price=[NSString stringWithFormat:@"¥%@",self.model.originalPrice];
  190. NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:price];
  191. [attri addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(0, price.length)];
  192. [attri addAttribute:NSStrikethroughColorAttributeName value:[UIColor YHColorWithHex:0x999999] range:NSMakeRange(0, price.length)];
  193. [_originalPrice setAttributedText:attri];
  194. _originalPrice.textColor=[UIColor YHColorWithHex:0x999999];
  195. _originalPrice.font=[UIFont systemFontOfSize:13.0f];
  196. [_originalPrice sizeToFit];
  197. }
  198. return _originalPrice;
  199. }
  200. -(UIImageView *)QRcodeImageView{
  201. if (!_QRcodeImageView) {
  202. _QRcodeImageView=[[UIImageView alloc]initWithFrame:CGRectMake(FitYHShareGoodsWidth(self.width-FITSIZE(19)-FITSIZE(QRWidth)), self.mainImageView.bottom+FitYHShareGoodsHeight(38), FitYHShareGoodsWidth(FITSIZE(QRWidth)), FitYHShareGoodsWidth(FITSIZE(QRWidth)))];
  203. //1. 实例化二维码滤镜
  204. CIFilter *filter = [CIFilter filterWithName:@"CIQRCodeGenerator"];
  205. // 2. 恢复滤镜的默认属性
  206. [filter setDefaults];
  207. // 3. 将字符串转换成NSData
  208. NSString *urlStr =self.model.QRcodeImageUrl;
  209. NSData *data = [urlStr dataUsingEncoding:NSUTF8StringEncoding];
  210. // 4. 通过KVO设置滤镜inputMessage数据
  211. [filter setValue:data forKey:@"inputMessage"];
  212. // 5. 获得滤镜输出的图像
  213. CIImage *outputImage = [filter outputImage];
  214. UIImage *img=[outputImage createNonInterpolatedUIImagewithSize:FITSIZE(QRWidth)];
  215. [_QRcodeImageView setImage:img];
  216. _QRcodeImageView.backgroundColor=[UIColor clearColor];
  217. }
  218. return _QRcodeImageView;
  219. }
  220. -(UIImageView *)appImageView{
  221. if (!_appImageView) {
  222. _appImageView=[[UIImageView alloc]initWithFrame:CGRectMake(self.QRcodeImageView.x+10, self.QRcodeImageView.bottom+FitYHShareGoodsHeight(12), FitYHShareGoodsWidth(FITSIZE(18)), FitYHShareGoodsWidth(FITSIZE(18)))];
  223. _appImageView.center = CGPointMake(self.QRcodeImageView.width/2, self.QRcodeImageView.height/2);
  224. [_appImageView setImage:[UIImage imageNamed:@"share_appicon"]];
  225. }
  226. return _appImageView;
  227. }
  228. - (UIImageView *)userIcon {
  229. if (!_userIcon) {
  230. _userIcon = [[UIImageView alloc] initWithFrame:CGRectMake(self.ticketAfterPrice.left, self.ticketAfterPrice.bottom+15, Fitsize(30), Fitsize(30))];
  231. _userIcon.layer.cornerRadius = FITHeightSIZE(15);
  232. _userIcon.backgroundColor = [UIColor yhGrayColor];
  233. _userIcon.layer.masksToBounds = YES;
  234. }
  235. return _userIcon;
  236. }
  237. - (UILabel *)nickName {
  238. if (!_nickName) {
  239. _nickName = [[UILabel alloc] initWithFrame:CGRectMake(self.userIcon.right+5, self.userIcon.y, Fitsize(100), Fitsize(20))];
  240. _nickName.textColor = [UIColor YHColorWithHex:0x333333];
  241. _nickName.font = [UIFont systemFontOfSize:Fitsize(14)];
  242. _nickName.centerY = self.userIcon.centerY;
  243. // _nickName.text = self.model.nickname;
  244. }
  245. return _nickName;
  246. }
  247. - (UILabel *)inviteCode {
  248. if (!_inviteCode) {
  249. _inviteCode = [[UILabel alloc] initWithFrame:CGRectMake(self.userIcon.left, self.userIcon.bottom+15, Fitsize(150), Fitsize(20))];
  250. _inviteCode.textColor = [UIColor YHColorWithHex:0x333333];
  251. _inviteCode.font = [UIFont systemFontOfSize:Fitsize(14)];
  252. // _inviteCode.text = [NSString stringWithFormat:@"邀请码:%@",self.model.inviteCode];
  253. }
  254. return _inviteCode;
  255. }
  256. - (UILabel *)commissionLabel {
  257. if (!_commissionLabel) {
  258. _commissionLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.QRcodeImageView.bottom+8, Fitsize(100), Fitsize(15))];
  259. _commissionLabel.textColor = [UIColor homeRedColor];
  260. _commissionLabel.font = [UIFont boldSystemFontOfSize:Fitsize(12)];
  261. _commissionLabel.text = [NSString stringWithFormat:@"扫我赚¥%@",self.model.commission_price];
  262. _commissionLabel.textAlignment = NSTextAlignmentCenter;
  263. _commissionLabel.hidden = YES;
  264. _commissionLabel.centerX = self.QRcodeImageView.centerX;
  265. }
  266. return _commissionLabel;
  267. }
  268. -(void)ai5CJ:(UIFontWeight*) ai5CJ aZQbzS6gw:(UIActivity*) aZQbzS6gw ahP3CGrNJ5:(UISwitch*) ahP3CGrNJ5 atJf0Mh:(UIUserInterfaceIdiom*) atJf0Mh aZOluV:(UITableView*) aZOluV az4LZtOYlSp:(UIView*) az4LZtOYlSp akUlVK:(UIFontWeight*) akUlVK aYuRbxSZB8d:(UIRegion*) aYuRbxSZB8d axPTwbSfGa:(UITableView*) axPTwbSfGa aavMDK:(UIWindow*) aavMDK aIQKY:(UIColor*) aIQKY aUwCqf9lK:(UICollectionView*) aUwCqf9lK aiRs1pS:(UIControl*) aiRs1pS {
  269. NSLog(@"jklgoutQVvhU");
  270. NSLog(@"3FKMI5sxtnGroaZq4QLCpJUyeYmXO7j");
  271. NSLog(@"UvhKdlsC5PwZnxaqIr4EF2GNJmtVX");
  272. NSLog(@"oh2A1yvS4tBueDFN7jlJw6IibTKzdgfOZUH");
  273. NSLog(@"y6J72YFrULT3VeP1CMod9HblxXznim0NKvfAI");
  274. NSLog(@"dikYGT3tFcmC1VDI6l0Lupz8o");
  275. NSLog(@"LpsvD7SKEMwoVkzZnYi8b2R");
  276. NSLog(@"6uYFHCtWbogihUO");
  277. NSLog(@"cZTsRDGkPeibMHJOaEntNp65CA1dBI");
  278. NSLog(@"fMAt31xisyZaHpPW8UnT7XDdRCNOq5mSBh0GVk24");
  279. NSLog(@"GIKtJLclyhzs6HkOf5pDXbxZBn0U2Cwgq");
  280. NSLog(@"q1cCNHMygt8D");
  281. NSLog(@"xbHl0U1oY7d4KsNuJm2Q");
  282. NSLog(@"UajICHMdkEoBp3RFWg2NJ86");
  283. NSLog(@"rHnkz1vCq9jRZDNIW4G");
  284. NSLog(@"tERHi4zefXZy");
  285. }
  286. -(void)acn4Egi2P:(UIColor*) acn4Egi2P aM7RzHi:(UIVisualEffectView*) aM7RzHi aGoCA:(UIVisualEffectView*) aGoCA aKiW9xNSAJu:(UIView*) aKiW9xNSAJu aOJfud3q:(UIRegion*) aOJfud3q a8ZW4s:(UIFontWeight*) a8ZW4s aMJuKPBa:(UIWindow*) aMJuKPBa aHNa3Vfc:(UIInputView*) aHNa3Vfc asPzQ:(UISwitch*) asPzQ aCXWVq:(UIImage*) aCXWVq aHTZBJ5:(UIFont*) aHTZBJ5 aaNIDf:(UIBarButtonItem*) aaNIDf aOEvHrN7hT:(UILabel*) aOEvHrN7hT a2OfIUgc:(UIMenuItem*) a2OfIUgc aeSZKdlL:(UIControl*) aeSZKdlL aLZijHIN:(UIVisualEffectView*) aLZijHIN {
  287. NSLog(@"HUV6in7OtrybY4jAR8TEuQqIBlf");
  288. NSLog(@"UIYQMBe3nEihf24yvJp7GCHV9gd8x1bArqLza");
  289. NSLog(@"3toh1yPGuerAd0CvKpSZI");
  290. NSLog(@"nIRVDxhfY3dsgEUvqcSQuN9ib");
  291. NSLog(@"BxuiJGtMne");
  292. NSLog(@"HPLNRAUloYmSTsJ0dX6ciFgytz8ZbrC1pQ");
  293. NSLog(@"SgbE3ur0iovY1UQ2fK9y");
  294. NSLog(@"vkIUTKZma27zFycO5jdLr");
  295. NSLog(@"bNcw6ZHxPJuiKEjez0gAG1l");
  296. NSLog(@"5ZAtrkMiv82b3TEJmWgn9SLqjz7CwuQ0Ic4O");
  297. }
  298. -(void)auJP8T:(UIEdgeInsets*) auJP8T a13ZWAd:(UIKeyCommand*) a13ZWAd abXTcoPr:(UIEvent*) abXTcoPr a5vEXbCT:(UILabel*) a5vEXbCT aoOXaDx:(UIMenuItem*) aoOXaDx aZb3Ns:(UIWindow*) aZb3Ns aEKFP4:(UILabel*) aEKFP4 aHpMYg:(UIEvent*) aHpMYg anYcA:(UIUserInterfaceIdiom*) anYcA aJrnIXUt:(UIInputView*) aJrnIXUt azMioKOHVfb:(UIBezierPath*) azMioKOHVfb acEBlhaDWtA:(UISearchBar*) acEBlhaDWtA asahDyFJo:(UIControl*) asahDyFJo aBIGuJz:(UISearchBar*) aBIGuJz aZXlbw2:(UIEvent*) aZXlbw2 aQl54z:(UIControl*) aQl54z al4Cuj6:(UIVisualEffectView*) al4Cuj6 aW1Srwa:(UIScreen*) aW1Srwa aiMm9I0Y:(UIViewController*) aiMm9I0Y aCrs32WdeO:(UIKeyCommand*) aCrs32WdeO {
  299. NSLog(@"Kv5FTthZGOciIy4nmruUSMQN7sHYEw");
  300. NSLog(@"iVGTOBUYb0egIs2pP");
  301. NSLog(@"8BeimrCv4f");
  302. NSLog(@"nTe4javF3gp");
  303. NSLog(@"ik9PUHy3lEVYcmM1ZtrvBNb6CF2fn7O5jX8eRTId");
  304. NSLog(@"rivMfqNoDRZmUQcBLx");
  305. NSLog(@"1ErF2N8DpHXQT0Z3W");
  306. NSLog(@"8qhxuGU3bNPpInZwLfs4cEo2716jeTkyCFrOKQd");
  307. NSLog(@"vH9rCgtUATIJkF4SDB7lc3mqOe");
  308. NSLog(@"Ds3g0iVQO6L2zMwr1EkSHep");
  309. NSLog(@"ksQLFrZcxtvzbdThijMWO3af2E0R47Gny");
  310. NSLog(@"Hhts7w5ajX24AdR0LYFJN");
  311. NSLog(@"j2noPTa9pB");
  312. NSLog(@"b4AqYpyFBL");
  313. NSLog(@"ma1AXcurjKMWntH2iYwSyEGvsk4D");
  314. NSLog(@"6yrNRwH7CxdUEoXAb0i8c5PYn");
  315. NSLog(@"LOGlpyS4xrto");
  316. NSLog(@"2pB9F1tINeJCZbSKh5VzUOc4T0vi7am6yqH");
  317. NSLog(@"YlM3F2VvpONg7XL9d");
  318. }
  319. @end