Kaynağa Gözat

积分商城

xiongzhu 7 yıl önce
ebeveyn
işleme
aea864efc8
33 değiştirilmiş dosya ile 320 ekleme ve 73 silme
  1. 23 0
      千模/Assets.xcassets/into_icon_jifen.imageset/Contents.json
  2. BIN
      千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen.png
  3. BIN
      千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen@2x.png
  4. BIN
      千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen@3x.png
  5. BIN
      千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao.png
  6. BIN
      千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao@2x.png
  7. BIN
      千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao@3x.png
  8. BIN
      千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin.png
  9. BIN
      千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin@2x.png
  10. BIN
      千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin@3x.png
  11. 2 2
      千模/Info.plist
  12. 1 1
      千模/IntegralStore/ExchangeDetailViewController.h
  13. 27 11
      千模/IntegralStore/ExchangeDetailViewController.m
  14. 1 1
      千模/IntegralStore/ExchangeHistoryCell.h
  15. 18 2
      千模/IntegralStore/ExchangeHistoryCell.m
  16. 6 0
      千模/IntegralStore/ExchangeHistoryCell.xib
  17. 29 1
      千模/IntegralStore/ExchangeHistoryViewController.m
  18. 1 1
      千模/IntegralStore/ItemDetailViewController.h
  19. 7 1
      千模/IntegralStore/ItemDetailViewController.m
  20. 1 0
      千模/IntegralStore/ItemDetailViewController.xib
  21. 1 1
      千模/IntegralStore/OrderSuccessViewController.m
  22. 1 1
      千模/IntegralStore/PlaceOrderViewController.h
  23. 48 9
      千模/IntegralStore/PlaceOrderViewController.m
  24. 6 0
      千模/IntegralStore/PlaceOrderViewController.xib
  25. 28 12
      千模/IntegralStore/StoreItemCell.m
  26. 61 8
      千模/IntegralStore/StoreViewController.m
  27. 1 1
      千模/Main/ModelDetail/GiftPresentationController.m
  28. 8 0
      千模/Main/ModelDetail/SendGiftViewController.m
  29. 16 7
      千模/Main/ModelDetail/SendGiftViewController.xib
  30. 1 6
      千模/Main/TabbarController.m
  31. 5 0
      千模/Main/WebViewController.m
  32. 7 3
      千模/MyInfo/MineViewController.m
  33. 21 5
      千模/MyInfo/MineViewController.xib

+ 23 - 0
千模/Assets.xcassets/into_icon_jifen.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "into_icon_jifen.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "into_icon_jifen@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "into_icon_jifen@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen.png


BIN
千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen@2x.png


BIN
千模/Assets.xcassets/into_icon_jifen.imageset/into_icon_jifen@3x.png


BIN
千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao.png


BIN
千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao@2x.png


BIN
千模/Assets.xcassets/个人中心/into_icon_qianbao.imageset/into_icon_qianbao@3x.png


BIN
千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin.png


BIN
千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin@2x.png


BIN
千模/Assets.xcassets/个人中心/into_icon_shipin.imageset/into_icon_shipin@3x.png


+ 2 - 2
千模/Info.plist

@@ -17,7 +17,7 @@
 	<key>CFBundlePackageType</key>
 	<string>APPL</string>
 	<key>CFBundleShortVersionString</key>
-	<string>1.0.7</string>
+	<string>1.0.8</string>
 	<key>CFBundleURLTypes</key>
 	<array>
 		<dict>
@@ -52,7 +52,7 @@
 		</dict>
 	</array>
 	<key>CFBundleVersion</key>
-	<string>8</string>
+	<string>1</string>
 	<key>ITSAppUsesNonExemptEncryption</key>
 	<false/>
 	<key>LSApplicationCategoryType</key>

+ 1 - 1
千模/IntegralStore/ExchangeDetailViewController.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ExchangeDetailViewController : UIViewController
-
+@property(nonatomic, strong) NSDictionary *model;
 @end
 
 NS_ASSUME_NONNULL_END

+ 27 - 11
千模/IntegralStore/ExchangeDetailViewController.m

@@ -9,17 +9,17 @@
 #import "ExchangeDetailViewController.h"
 
 @interface ExchangeDetailViewController ()
-@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
-@property (weak, nonatomic) IBOutlet UILabel *phoneLabel;
-@property (weak, nonatomic) IBOutlet UILabel *addressLabel;
-@property (weak, nonatomic) IBOutlet UIImageView *image;
-@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
-@property (weak, nonatomic) IBOutlet UILabel *integralLabel;
-@property (weak, nonatomic) IBOutlet UILabel *amountLabel;
-@property (weak, nonatomic) IBOutlet UILabel *msgLabel;
-@property (weak, nonatomic) IBOutlet UILabel *logisticsLabel;
-@property (weak, nonatomic) IBOutlet UILabel *orderNoLabel;
-@property (weak, nonatomic) IBOutlet UILabel *orderTimeLabel;
+@property(weak, nonatomic) IBOutlet UILabel *nameLabel;
+@property(weak, nonatomic) IBOutlet UILabel *phoneLabel;
+@property(weak, nonatomic) IBOutlet UILabel *addressLabel;
+@property(weak, nonatomic) IBOutlet UIImageView *image;
+@property(weak, nonatomic) IBOutlet UILabel *titleLabel;
+@property(weak, nonatomic) IBOutlet UILabel *integralLabel;
+@property(weak, nonatomic) IBOutlet UILabel *amountLabel;
+@property(weak, nonatomic) IBOutlet UILabel *msgLabel;
+@property(weak, nonatomic) IBOutlet UILabel *logisticsLabel;
+@property(weak, nonatomic) IBOutlet UILabel *orderNoLabel;
+@property(weak, nonatomic) IBOutlet UILabel *orderTimeLabel;
 
 @end
 
@@ -31,6 +31,22 @@
     UIBarButtonItem *leftItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"icon_back"] style:UIBarButtonItemStylePlain target:self action:@selector(backClick)];
     self.navigationItem.leftBarButtonItem = leftItem;
     self.navigationController.navigationBar.tintColor = [UIColor blackColor];
+
+    [self.image sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", imageURl, self.model[@"cover"]]] placeholderImage:[UIImage imageNamed:@"jiazai"]];
+    self.nameLabel.text = self.model[@"name"];
+    self.phoneLabel.text = self.model[@"phone"];
+    self.addressLabel.text = self.model[@"address"];
+    self.titleLabel.text = self.model[@"merchandiseName"];
+    self.integralLabel.text = [NSString stringWithFormat:@"%@积分", [self.model[@"totalIntegral"] stringValue]];
+    self.amountLabel.text = [self.model[@"amount"] stringValue];
+    self.msgLabel.text = self.model[@"msg"] ? self.model[@"msg"] : @"";
+    self.logisticsLabel.text = self.model[@"logistics"] ? self.model[@"logistics"] : @"";
+    self.orderNoLabel.text = [self.model[@"id"] stringValue];
+
+    NSDate *myDate = [NSDate dateWithTimeIntervalSince1970:[self.model[@"time"] longValue] / 1000];
+    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
+    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
+    self.orderTimeLabel.text = [formatter stringFromDate:myDate];
 }
 
 - (void)viewWillAppear:(BOOL)animated {

+ 1 - 1
千模/IntegralStore/ExchangeHistoryCell.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ExchangeHistoryCell : UITableViewCell
-
+@property(nonatomic, strong) NSDictionary *model;
 @end
 
 NS_ASSUME_NONNULL_END

+ 18 - 2
千模/IntegralStore/ExchangeHistoryCell.m

@@ -8,6 +8,13 @@
 
 #import "ExchangeHistoryCell.h"
 
+@interface ExchangeHistoryCell ()
+@property(weak, nonatomic) IBOutlet UIImageView *coverImage;
+@property(weak, nonatomic) IBOutlet UILabel *titleLabel;
+@property(weak, nonatomic) IBOutlet UILabel *integralLabel;
+@property(weak, nonatomic) IBOutlet UILabel *timeLabel;
+@end
+
 @implementation ExchangeHistoryCell
 
 - (void)awakeFromNib {
@@ -17,8 +24,17 @@
 
 - (void)setSelected:(BOOL)selected animated:(BOOL)animated {
     [super setSelected:selected animated:animated];
-
-    // Configure the view for the selected state
 }
 
+- (void)setModel:(NSDictionary *)model {
+    _model = model;
+    [self.coverImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", imageURl, model[@"cover"]]] placeholderImage:[UIImage imageNamed:@"jiazai"]];
+    self.titleLabel.text = model[@"merchandiseName"];
+    self.integralLabel.text = [NSString stringWithFormat:@"%@积分", model[@"totalIntegral"]];
+
+    NSDate *myDate = [NSDate dateWithTimeIntervalSince1970:[model[@"time"] longValue] / 1000];
+    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
+    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
+    self.timeLabel.text = [formatter stringFromDate:myDate];
+}
 @end

+ 6 - 0
千模/IntegralStore/ExchangeHistoryCell.xib

@@ -81,6 +81,12 @@
                 </constraints>
             </tableViewCellContentView>
             <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <connections>
+                <outlet property="coverImage" destination="pr5-cB-Q03" id="pOL-u5-2w8"/>
+                <outlet property="integralLabel" destination="YuG-oo-SWB" id="KYK-Hr-XON"/>
+                <outlet property="timeLabel" destination="fgZ-cq-wdS" id="R7p-dv-Cgr"/>
+                <outlet property="titleLabel" destination="iMq-Ce-FUX" id="ZwV-oN-Ugz"/>
+            </connections>
             <point key="canvasLocation" x="184" y="180.35982008995504"/>
         </tableViewCell>
     </objects>

+ 29 - 1
千模/IntegralStore/ExchangeHistoryViewController.m

@@ -12,6 +12,7 @@
 
 @interface ExchangeHistoryViewController () <UITableViewDelegate, UITableViewDataSource>
 @property(weak, nonatomic) IBOutlet UITableView *tableView;
+@property(nonatomic, strong) NSMutableArray *tableData;
 
 @end
 
@@ -33,18 +34,43 @@
 - (void)viewWillAppear:(BOOL)animated {
     [super viewWillAppear:animated];
     self.navigationController.navigationBar.tintColor = [UIColor blackColor];
+    [self getData];
 }
 
 - (void)backClick {
     [self.navigationController popViewControllerAnimated:YES];
 }
 
+- (void)getData {
+    NSString *str = [NSString stringWithFormat:@"%@integral?action=getAllExchangeInfo&memberPK=%@", webURL, [Helper sharedAccount].accid];
+    [[AHHttpManager sharedManager]
+            POST:str
+      parameters:nil
+         success:^(id responseObject) {
+             if ([responseObject[@"success"] boolValue]) {
+                 [self.tableData removeAllObjects];
+                 [self.tableData addObjectsFromArray:responseObject[@"data"]];
+                 [self.tableView reloadData];
+             }
+         }
+         failure:^(NSError *error) {
+             NSLog(@"error = %@", error);
+         }];
+}
+
+- (NSMutableArray *)tableData {
+    if (!_tableData) {
+        _tableData = [NSMutableArray arrayWithCapacity:0];
+    }
+    return _tableData;
+}
+
 - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
     return 1;
 }
 
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-    return 10;
+    return self.tableData.count;
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
@@ -57,11 +83,13 @@
         cell = [[[UINib nibWithNibName:@"ExchangeHistoryCell" bundle:nil] instantiateWithOwner:self options:nil] lastObject];
         cell.selectionStyle = UITableViewCellSelectionStyleNone;;
     }
+    cell.model = self.tableData[indexPath.row];
     return cell;
 }
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     ExchangeDetailViewController *vc = [[ExchangeDetailViewController alloc] init];
+    vc.model = self.tableData[indexPath.row];
     [self.navigationController pushViewController:vc animated:YES];
 }
 @end

+ 1 - 1
千模/IntegralStore/ItemDetailViewController.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ItemDetailViewController : UIViewController
-
+@property (nonatomic, strong) NSDictionary *model;
 @end
 
 NS_ASSUME_NONNULL_END

+ 7 - 1
千模/IntegralStore/ItemDetailViewController.m

@@ -99,6 +99,7 @@
 
 @interface ItemDetailViewController () <UIViewControllerTransitioningDelegate>
 @property(weak, nonatomic) IBOutlet SDCycleScrollView *cycleScrollView;
+@property(weak, nonatomic) IBOutlet UILabel *contentLabel;
 
 @end
 
@@ -114,7 +115,12 @@
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.view.backgroundColor = [UIColor clearColor];
-    self.cycleScrollView.imageURLStringsGroup = @[@"https://ws1.sinaimg.cn/large/0065oQSqly1fytdr77urlj30sg10najf.jpg", @"https://ws1.sinaimg.cn/large/0065oQSqly1fymj13tnjmj30r60zf79k.jpg"];
+    self.contentLabel.text = self.model[@"intro"];
+    NSMutableArray *array = [[self.model[@"pics"] componentsSeparatedByString:@";"] mutableCopy];
+    for (NSUInteger i = 0; i < array.count; i++) {
+        array[i] = [NSString stringWithFormat:@"%@%@", imageURl, array[i]];
+    }
+    self.cycleScrollView.imageURLStringsGroup = array;
     self.cycleScrollView.bannerImageViewContentMode = UIViewContentModeScaleAspectFill;
     self.cycleScrollView.pageControlBottomOffset = 0;
     self.cycleScrollView.pageDotImage = [self imageWithCornerRadius:1 size:CGSizeMake(6, 2) color:[UIColor colorWithHexString:@"#ffffff" alpha:0.6]];

+ 1 - 0
千模/IntegralStore/ItemDetailViewController.xib

@@ -12,6 +12,7 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="ItemDetailViewController">
             <connections>
+                <outlet property="contentLabel" destination="3VO-if-OOl" id="G0i-wq-zp0"/>
                 <outlet property="cycleScrollView" destination="beD-f1-wdN" id="1SD-yg-egD"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
             </connections>

+ 1 - 1
千模/IntegralStore/OrderSuccessViewController.m

@@ -39,7 +39,7 @@
 }
 
 - (IBAction)back:(id)sender {
-    [self back:nil];
+    [self backClick];
 }
 
 @end

+ 1 - 1
千模/IntegralStore/PlaceOrderViewController.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface PlaceOrderViewController : UIViewController
-
+@property(nonatomic, strong) NSDictionary *model;
 @end
 
 NS_ASSUME_NONNULL_END

+ 48 - 9
千模/IntegralStore/PlaceOrderViewController.m

@@ -8,17 +8,21 @@
 
 #import "PlaceOrderViewController.h"
 #import "FillAddressViewController.h"
+#import "OrderSuccessViewController.h"
 
-@interface PlaceOrderViewController (){
+@interface PlaceOrderViewController () {
     NSInteger amount;
 }
-@property (weak, nonatomic) IBOutlet UILabel *amountLabel;
-@property (weak, nonatomic) IBOutlet UIView *addressMaskView;
-@property (weak, nonatomic) IBOutlet UILabel *nameLabel;
-@property (weak, nonatomic) IBOutlet UILabel *phoneLabel;
-@property (weak, nonatomic) IBOutlet UILabel *addressLabel;
+@property(weak, nonatomic) IBOutlet UIImageView *coverImage;
+@property(weak, nonatomic) IBOutlet UILabel *amountLabel;
+@property(weak, nonatomic) IBOutlet UIView *addressMaskView;
+@property(weak, nonatomic) IBOutlet UILabel *nameLabel;
+@property(weak, nonatomic) IBOutlet UILabel *phoneLabel;
+@property(weak, nonatomic) IBOutlet UILabel *addressLabel;
+@property(weak, nonatomic) IBOutlet UILabel *integralLablel;
+@property(weak, nonatomic) IBOutlet UITextField *msgText;
 
-@property (nonatomic,strong) NSString *name;
+@property(nonatomic, strong) NSString *name;
 @property(nonatomic, strong) NSString *phone;
 @property(nonatomic, strong) NSString *address;
 @end
@@ -32,6 +36,8 @@
     self.navigationItem.leftBarButtonItem = leftItem;
     self.navigationController.navigationBar.tintColor = [UIColor blackColor];
     amount = 1;
+    [self.coverImage sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", imageURl, self.model[@"cover"]]] placeholderImage:[UIImage imageNamed:@"jiazai"]];
+    self.integralLablel.text = [NSString stringWithFormat:@"%@积分", [self.model[@"integral"] stringValue]];
 }
 
 - (void)viewWillAppear:(BOOL)animated {
@@ -44,9 +50,10 @@
 }
 
 - (IBAction)reduceAmount:(id)sender {
-    if (amount > 0) {
+    if (amount > 1) {
         amount--;
         self.amountLabel.text = [@(amount) stringValue];
+        self.integralLablel.text = [NSString stringWithFormat:@"%@积分", [@([self.model[@"integral"] intValue] * amount) stringValue]];
     }
 }
 
@@ -54,6 +61,7 @@
     if (amount < 99) {
         amount++;
         self.amountLabel.text = [@(amount) stringValue];
+        self.integralLablel.text = [NSString stringWithFormat:@"%@积分", [@([self.model[@"integral"] intValue] * amount) stringValue]];
     }
 }
 
@@ -62,7 +70,7 @@
     vc.name = self.name;
     vc.phone = self.phone;
     vc.address = self.address;
-    vc.callback = ^(NSDictionary * _Nonnull dic) {
+    vc.callback = ^(NSDictionary *_Nonnull dic) {
         self.name = dic[@"name"];
         self.phone = dic[@"phone"];
         self.address = dic[@"address"];
@@ -73,4 +81,35 @@
     };
     [self.navigationController pushViewController:vc animated:YES];
 }
+
+- (IBAction)confirm:(id)sender {
+    if (self.address.length == 0) {
+        [MBProgressHUD showInfo:@"请填写收货地址"];
+        return;
+    }
+    [MBProgressHUD showHUDAddedTo:self.view animated:YES];
+    NSString *url = [NSString stringWithFormat:@"%@integral?action=saveExchange&memberPK=%@&merchandiseId=%@&amount=%@&name=%@&phone=%@&address=%@&msg=%@", webURL,
+                                               [Helper sharedAccount].accid, self.model[@"id"], @(amount), self.name, self.phone, self.address, self.msgText.text];
+    [[AHHttpManager sharedManager]
+            POST:[url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
+      parameters:nil
+         success:^(id responseObject) {
+             [MBProgressHUD hideHUDForView:self.view];
+             if ([responseObject[@"success"] boolValue]) {
+                 OrderSuccessViewController *vc = [[OrderSuccessViewController alloc] init];
+                 [self.navigationController pushViewController:vc animated:YES];
+             } else {
+                 if (responseObject[@"error"]) {
+                     [MBProgressHUD showError:responseObject[@"error"]];
+                 } else {
+                     [MBProgressHUD showError:@"兑换失败,请稍后再试"];
+                 }
+             }
+         }
+         failure:^(NSError *error) {
+             [MBProgressHUD hideHUDForView:self.view];
+             NSLog(@"error = %@", error);
+             [MBProgressHUD showError:@"兑换失败,请稍后再试"];
+         }];
+}
 @end

+ 6 - 0
千模/IntegralStore/PlaceOrderViewController.xib

@@ -15,6 +15,9 @@
                 <outlet property="addressLabel" destination="5du-DZ-MhZ" id="BcO-lq-s6M"/>
                 <outlet property="addressMaskView" destination="mrn-ha-rwe" id="rEV-ZM-mOi"/>
                 <outlet property="amountLabel" destination="zZZ-fq-Nk2" id="zDR-m3-Ilc"/>
+                <outlet property="coverImage" destination="SQy-hi-RJb" id="mtZ-Ab-rEr"/>
+                <outlet property="integralLablel" destination="4gl-qK-rbe" id="5Q6-mM-sYs"/>
+                <outlet property="msgText" destination="Elf-YO-AFO" id="ZYL-Db-DvX"/>
                 <outlet property="nameLabel" destination="kpb-fb-UlV" id="4TJ-ce-D02"/>
                 <outlet property="phoneLabel" destination="pBn-2N-xza" id="dDr-f3-nmQ"/>
                 <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
@@ -325,6 +328,9 @@
                         <constraint firstAttribute="height" constant="44" id="P4J-23-KdP"/>
                     </constraints>
                     <state key="normal" title="确认兑换"/>
+                    <connections>
+                        <action selector="confirm:" destination="-1" eventType="touchUpInside" id="PMT-Gf-Uej"/>
+                    </connections>
                 </button>
             </subviews>
             <color key="backgroundColor" red="0.94901960784313721" green="0.95686274509803915" blue="0.96078431372549022" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>

+ 28 - 12
千模/IntegralStore/StoreItemCell.m

@@ -8,14 +8,15 @@
 
 #import "StoreItemCell.h"
 
-@interface StoreItemCell()
-@property (weak, nonatomic) IBOutlet UIImageView *image;
-@property (weak, nonatomic) IBOutlet UIButton *btnExchange;
-@property (weak, nonatomic) IBOutlet UILabel *titleLabel;
-@property (weak, nonatomic) IBOutlet UILabel *stockLabel;
-@property (weak, nonatomic) IBOutlet UILabel *integralLabel;
-@property (weak, nonatomic) IBOutlet UILabel *priceLabel;
+@interface StoreItemCell ()
+@property(weak, nonatomic) IBOutlet UIImageView *image;
+@property(weak, nonatomic) IBOutlet UIButton *btnExchange;
+@property(weak, nonatomic) IBOutlet UILabel *titleLabel;
+@property(weak, nonatomic) IBOutlet UILabel *stockLabel;
+@property(weak, nonatomic) IBOutlet UILabel *integralLabel;
+@property(weak, nonatomic) IBOutlet UILabel *priceLabel;
 @end
+
 @implementation StoreItemCell
 
 - (void)awakeFromNib {
@@ -24,10 +25,10 @@
     self.btnExchange.layer.cornerRadius = 13;
     self.btnExchange.layer.borderColor = [UIColor colorWithHexString:@"#FF4095"].CGColor;
     self.btnExchange.layer.borderWidth = 1;
-    
+
     NSString *price = @"¥15";
     NSUInteger length = [price length];
-    
+
     NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:price];
     [attri addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(0, length)];
     [attri addAttribute:NSStrikethroughColorAttributeName value:[UIColor colorWithHexString:@"#999999"] range:NSMakeRange(0, length)];
@@ -41,9 +42,24 @@
 }
 
 - (IBAction)exchange:(id)sender {
-   if(self.onExchange){
-       self.onExchange(self.model);
-   }
+    if (self.onExchange) {
+        self.onExchange(self.model);
+    }
+}
+
+- (void)setModel:(NSDictionary *)model {
+    _model = model;
+    [self.image sd_setImageWithURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@%@", imageURl, model[@"cover"]]] placeholderImage:[UIImage imageNamed:@"jiazai"]];
+    self.titleLabel.text = model[@"name"];
+    self.integralLabel.text = [NSString stringWithFormat:@"%@积分", [model[@"integral"] stringValue]];
+    self.stockLabel.text = [NSString stringWithFormat:@"剩余%@件", [model[@"stock"] stringValue]];
+
+    NSString *price = [NSString stringWithFormat:@"¥%@", [model[@"price"] stringValue]];
+    NSUInteger length = [price length];
+    NSMutableAttributedString *attri = [[NSMutableAttributedString alloc] initWithString:price];
+    [attri addAttribute:NSStrikethroughStyleAttributeName value:@(NSUnderlinePatternSolid | NSUnderlineStyleSingle) range:NSMakeRange(0, length)];
+    [attri addAttribute:NSStrikethroughColorAttributeName value:[UIColor colorWithHexString:@"#999999"] range:NSMakeRange(0, length)];
+    [self.priceLabel setAttributedText:attri];
 }
 
 @end

+ 61 - 8
千模/IntegralStore/StoreViewController.m

@@ -11,13 +11,13 @@
 #import "ExchangeHistoryViewController.h"
 #import "StoreItemCell.h"
 #import "StoreHeaderView.h"
-#import "ExchangeHistoryViewController.h"
 #import "PlaceOrderViewController.h"
 #import "ItemDetailViewController.h"
 
 @interface StoreViewController () <UITableViewDelegate, UITableViewDataSource>
 @property(weak, nonatomic) IBOutlet UITableView *tableView;
-
+@property(nonatomic, strong) StoreHeaderView *headerView;
+@property(nonatomic, strong) NSMutableArray *tableData;
 @end
 
 @implementation StoreViewController
@@ -29,17 +29,20 @@
     self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
     self.title = @"积分商城";
 
-    StoreHeaderView *headerView = [[StoreHeaderView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 145)];
-    headerView.onTapHistory = ^{
+    self.headerView = [[StoreHeaderView alloc] initWithFrame:CGRectMake(0, 0, ScreenWidth, 145)];
+    self.headerView.onTapHistory = ^{
+        AppDelegate *delegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
+        if (![delegate isLogin]) {
+            [delegate showLoginAlert];
+            return;
+        }
         ExchangeHistoryViewController *vc = [[ExchangeHistoryViewController alloc] init];
         [self.navigationController pushViewController:vc animated:YES];
     };
-    self.tableView.tableHeaderView = headerView;
+    self.tableView.tableHeaderView = self.headerView;
     self.tableView.delegate = self;
     self.tableView.dataSource = self;
     self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
-
-
 }
 
 - (void)backClick {
@@ -55,6 +58,8 @@
     [self.navigationController.navigationBar setShadowImage:[UIImage new]];
     self.navigationController.navigationBar.barStyle = UIBarStyleBlack;
     self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: [UIColor whiteColor]};
+    self.navigationController.navigationBar.translucent = NO;
+    [self getInfo];
 }
 
 - (void)viewWillDisappear:(BOOL)animated {
@@ -65,6 +70,46 @@
     self.navigationController.navigationBar.titleTextAttributes = nil;
 }
 
+- (NSMutableArray *)tableData {
+    if (!_tableData) {
+        _tableData = [NSMutableArray arrayWithCapacity:0];
+    }
+    return _tableData;
+}
+
+- (void)getInfo {
+    [[AHHttpManager sharedManager]
+            POST:[NSString stringWithFormat:@"%@integral?action=getAllMerchandises", webURL]
+      parameters:nil
+         success:^(id responseObject) {
+             if ([responseObject[@"success"] boolValue]) {
+                 [self.tableData removeAllObjects];
+                 [self.tableData addObjectsFromArray:responseObject[@"data"]];
+                 [self.tableView reloadData];
+             }
+         }
+         failure:^(NSError *error) {
+             NSLog(@"error = %@", error);
+         }];
+    AppDelegate *delegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
+    if (![delegate isLogin]) {
+        return;
+    }
+    NSString *str = [NSString stringWithFormat:@"%@memberInfo?action=getuserinfo&PK=%@", webURL, [Helper sharedAccount].accid];
+    [[AHHttpManager sharedManager]
+            POST:str
+      parameters:nil
+         success:^(id responseObject) {
+             NSLog(@"%@", responseObject);
+             if ([[responseObject objectForKey:@"msg"] isEqualToString:@"success"]) {
+                 self.headerView.integralLabel.text = responseObject[@"data"][@"integral"];
+             }
+         }
+         failure:^(NSError *error) {
+             NSLog(@"error = %@", error);
+         }];
+}
+
 - (UIStatusBarStyle)preferredStatusBarStyle {
     return UIStatusBarStyleLightContent;
 }
@@ -74,7 +119,7 @@
 }
 
 - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
-    return 10;
+    return self.tableData.count;
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
@@ -87,15 +132,23 @@
         cell = [[[UINib nibWithNibName:@"StoreItemCell" bundle:nil] instantiateWithOwner:self options:nil] lastObject];
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
         cell.onExchange = ^(NSDictionary *model) {
+            AppDelegate *delegate = (AppDelegate *) [UIApplication sharedApplication].delegate;
+            if (![delegate isLogin]) {
+                [delegate showLoginAlert];
+                return;
+            }
             PlaceOrderViewController *vc = [[PlaceOrderViewController alloc] init];
+            vc.model = self.tableData[indexPath.row];
             [self.navigationController pushViewController:vc animated:YES];
         };
     }
+    cell.model = self.tableData[indexPath.row];
     return cell;
 }
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     ItemDetailViewController *vc = [[ItemDetailViewController alloc] init];
+    vc.model = self.tableData[indexPath.row];
     [self.navigationController presentViewController:vc animated:YES completion:nil];
 }
 

+ 1 - 1
千模/Main/ModelDetail/GiftPresentationController.m

@@ -77,7 +77,7 @@
 // 返回目标控制器Viewframe
 - (CGRect)frameOfPresentedViewInContainerView {
     // 这里直接按照想要的大小写死,其实这样写不好,在第二个Demo里,我们将按照苹果官方Demo,写灵活的获取方式。
-    CGFloat height = 295.f;
+    CGFloat height = 333.f;
     CGRect containerViewBounds = CGRectMake(0, self.containerView.bounds.size.height - height, self.containerView.bounds.size.width, height);
     return containerViewBounds;
 }

+ 8 - 0
千模/Main/ModelDetail/SendGiftViewController.m

@@ -10,6 +10,7 @@
 #import "GiftPresentationController.h"
 #import "ChargeViewController.h"
 #import "UIAlertView+NTESBlock.h"
+#import "StoreViewController.h"
 
 @interface SendGiftViewController () <UIViewControllerTransitioningDelegate>
 @property(weak, nonatomic) IBOutlet UILabel *balanceLabel;
@@ -141,6 +142,13 @@
     }
 }
 
+- (IBAction)IntegralStore:(id)sender {
+    [self.parentController dismissViewControllerAnimated:YES completion:^{
+        StoreViewController *vc = [[StoreViewController alloc] init];
+        [_parentController.navigationController pushViewController:vc animated:YES];
+    }];
+}
+
 #pragma mark - UIViewControllerTransitioningDelegate
 
 - (UIPresentationController *)presentationControllerForPresentedViewController:(UIViewController *)presented presentingViewController:(UIViewController *)presenting sourceViewController:(UIViewController *)source {

+ 16 - 7
千模/Main/ModelDetail/SendGiftViewController.xib

@@ -29,19 +29,19 @@
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
                 <view clipsSubviews="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qt5-6b-u1c" userLabel="Top">
-                    <rect key="frame" x="0.0" y="0.0" width="375" height="0.0"/>
+                    <rect key="frame" x="0.0" y="0.0" width="375" height="38"/>
                     <subviews>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您为选手送&quot;礼&quot;助威,我为您送&quot;茶&quot;还礼!" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UBh-63-BgV">
-                            <rect key="frame" x="15" y="-7.5" width="229.5" height="15"/>
+                            <rect key="frame" x="15" y="12" width="229.5" height="14.5"/>
                             <fontDescription key="fontDescription" type="system" pointSize="12"/>
                             <color key="textColor" red="1" green="0.58431372549019611" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                         <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_inter" translatesAutoresizingMaskIntoConstraints="NO" id="NdB-pg-N6V">
-                            <rect key="frame" x="340" y="-10" width="20" height="20"/>
+                            <rect key="frame" x="340" y="9" width="20" height="20"/>
                         </imageView>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b5G-Q7-gqE">
-                            <rect key="frame" x="0.0" y="-1" width="375" height="1"/>
+                            <rect key="frame" x="0.0" y="37" width="375" height="1"/>
                             <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.20000000000000001" colorSpace="calibratedRGB"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="1" id="UYW-c8-C4I"/>
@@ -49,9 +49,10 @@
                         </view>
                     </subviews>
                     <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <gestureRecognizers/>
                     <constraints>
                         <constraint firstAttribute="trailing" secondItem="NdB-pg-N6V" secondAttribute="trailing" constant="15" id="3lp-aR-fle"/>
-                        <constraint firstAttribute="height" id="5yU-Jg-Omy"/>
+                        <constraint firstAttribute="height" constant="38" id="5yU-Jg-Omy"/>
                         <constraint firstItem="b5G-Q7-gqE" firstAttribute="leading" secondItem="qt5-6b-u1c" secondAttribute="leading" id="CXT-Hh-w0V"/>
                         <constraint firstItem="UBh-63-BgV" firstAttribute="centerY" secondItem="qt5-6b-u1c" secondAttribute="centerY" id="DG9-bV-bPg"/>
                         <constraint firstAttribute="trailing" secondItem="b5G-Q7-gqE" secondAttribute="trailing" id="JoF-i6-wu4"/>
@@ -59,9 +60,12 @@
                         <constraint firstItem="NdB-pg-N6V" firstAttribute="centerY" secondItem="qt5-6b-u1c" secondAttribute="centerY" id="Sbx-CS-jgN"/>
                         <constraint firstItem="UBh-63-BgV" firstAttribute="leading" secondItem="qt5-6b-u1c" secondAttribute="leading" constant="15" id="XaP-JX-RkQ"/>
                     </constraints>
+                    <connections>
+                        <outletCollection property="gestureRecognizers" destination="9W7-Z3-cok" appends="YES" id="Qhx-yv-0Bb"/>
+                    </connections>
                 </view>
                 <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="uU3-B9-lqy">
-                    <rect key="frame" x="0.0" y="13" width="375" height="116"/>
+                    <rect key="frame" x="0.0" y="51" width="375" height="116"/>
                     <subviews>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sgr-nx-orl">
                             <rect key="frame" x="0.0" y="0.0" width="125" height="116"/>
@@ -231,7 +235,7 @@
                     </constraints>
                 </stackView>
                 <stackView opaque="NO" contentMode="scaleToFill" distribution="fillEqually" translatesAutoresizingMaskIntoConstraints="NO" id="UlE-Vs-9eX">
-                    <rect key="frame" x="0.0" y="129" width="375" height="116"/>
+                    <rect key="frame" x="0.0" y="167" width="375" height="116"/>
                     <subviews>
                         <view tag="3" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rgn-d2-X0U">
                             <rect key="frame" x="0.0" y="0.0" width="125" height="116"/>
@@ -506,6 +510,11 @@
                 <action selector="select:" destination="-1" id="1yp-zA-KL9"/>
             </connections>
         </tapGestureRecognizer>
+        <tapGestureRecognizer id="9W7-Z3-cok">
+            <connections>
+                <action selector="IntegralStore:" destination="-1" id="8TV-Pg-Hte"/>
+            </connections>
+        </tapGestureRecognizer>
     </objects>
     <resources>
         <image name="icon_inter" width="20" height="20"/>

+ 1 - 6
千模/Main/TabbarController.m

@@ -16,8 +16,6 @@
 #import "AdViewController.h"
 #import "WebViewController.h"
 #import "UpdateViewController.h"
-#import "math.h"
-#import "StoreViewController.h"
 
 @interface TabbarController () <NIMSystemNotificationManagerDelegate, NIMConversationManagerDelegate, UITabBarControllerDelegate>
 @property(nonatomic, assign) NSInteger sessionUnreadCount;
@@ -91,10 +89,7 @@
     }
     [self.tabBar addSubview:_FindBtn];
 
-//    [self checkUpdate];
-    
-    StoreViewController *vc = [[StoreViewController alloc] init];
-    [(UINavigationController *) self.selectedViewController pushViewController:vc animated:YES];
+    [self checkUpdate];
 }
 
 - (void)checkUpdate {

+ 5 - 0
千模/Main/WebViewController.m

@@ -16,6 +16,7 @@
 #import "ModelDetailController.h"
 #import "ModelFansViewController.h"
 #import "UIImage+Common.h"
+#import "StoreViewController.h"
 
 @interface WebViewController () <ShareDelegate, WKUIDelegate, WKScriptMessageHandler, WKNavigationDelegate>
 @property(nonatomic, strong) WKWebView *webView;
@@ -184,6 +185,10 @@
                 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-apps://itunes.apple.com/app/id1434011196?mt=8"]];
             }
         }
+    } else if ([@"sendGift" isEqualToString:action]) {
+        StoreViewController *vc = [[StoreViewController alloc] init];
+        vc.hidesBottomBarWhenPushed = YES;
+        [self.navigationController pushViewController:vc animated:YES];
     }
 }
 

+ 7 - 3
千模/MyInfo/MineViewController.m

@@ -17,6 +17,7 @@
 #import "MyWalletViewController.h"
 #import "SettingsViewController.h"
 #import "SharePopViewController.h"
+#import "StoreViewController.h"
 
 @interface MineViewController ()
 @property(weak, nonatomic) IBOutlet UIView *headView;
@@ -160,12 +161,15 @@
             break;
         }
         case 5: {
-            AboutUsViewController *auVC = [[AboutUsViewController alloc] init];
-            auVC.hidesBottomBarWhenPushed = YES;
-            [self.navigationController pushViewController:auVC animated:YES];
+            StoreViewController *vc = [[StoreViewController alloc] init];
+            vc.hidesBottomBarWhenPushed = YES;
+            [self.navigationController pushViewController:vc animated:YES];
             break;
         }
         case 6: {
+            AboutUsViewController *auVC = [[AboutUsViewController alloc] init];
+            auVC.hidesBottomBarWhenPushed = YES;
+            [self.navigationController pushViewController:auVC animated:YES];
             break;
         }
         default:

+ 21 - 5
千模/MyInfo/MineViewController.xib

@@ -126,7 +126,7 @@
                     <rect key="frame" x="0.0" y="272" width="375" height="395"/>
                     <subviews>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="90x-yd-gin">
-                            <rect key="frame" x="0.0" y="0.0" width="375" height="300"/>
+                            <rect key="frame" x="0.0" y="0.0" width="375" height="360"/>
                             <subviews>
                                 <view tag="1" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="JCJ-WU-CeP" userLabel="1" customClass="MineItemView">
                                     <rect key="frame" x="0.0" y="0.0" width="375" height="60"/>
@@ -195,32 +195,48 @@
                                         <constraint firstAttribute="height" constant="60" id="4ez-c9-hvI"/>
                                     </constraints>
                                     <userDefinedRuntimeAttributes>
-                                        <userDefinedRuntimeAttribute type="string" keyPath="label" value="联系我们"/>
+                                        <userDefinedRuntimeAttribute type="string" keyPath="label" value="积分商城"/>
                                         <userDefinedRuntimeAttribute type="image" keyPath="image" value="into_icon_lianxikefu"/>
+                                        <userDefinedRuntimeAttribute type="string" keyPath="icon" value="into_icon_jifen"/>
                                     </userDefinedRuntimeAttributes>
                                     <connections>
                                         <outletCollection property="gestureRecognizers" destination="ZZG-Ry-lvR" appends="YES" id="jog-QM-Mv8"/>
                                     </connections>
                                 </view>
+                                <view tag="6" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="V3D-gB-OaU" userLabel="6" customClass="MineItemView">
+                                    <rect key="frame" x="0.0" y="300" width="375" height="60"/>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <gestureRecognizers/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="60" id="mdN-Vq-a79"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="string" keyPath="label" value="联系我们"/>
+                                        <userDefinedRuntimeAttribute type="image" keyPath="image" value="into_icon_lianxikefu"/>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
                             </subviews>
                             <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
+                                <constraint firstAttribute="trailing" secondItem="V3D-gB-OaU" secondAttribute="trailing" id="2kk-Ld-4Eh"/>
                                 <constraint firstItem="SR0-Ty-VJk" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="4ni-z9-tej"/>
                                 <constraint firstItem="4WH-zT-UTg" firstAttribute="top" secondItem="JCJ-WU-CeP" secondAttribute="bottom" id="5JM-bp-6Me"/>
                                 <constraint firstItem="JCJ-WU-CeP" firstAttribute="top" secondItem="90x-yd-gin" secondAttribute="top" id="63D-wi-XvN"/>
                                 <constraint firstAttribute="trailing" secondItem="SR0-Ty-VJk" secondAttribute="trailing" id="6R3-jJ-Hbx"/>
                                 <constraint firstAttribute="trailing" secondItem="4WH-zT-UTg" secondAttribute="trailing" id="CkS-JE-DmE"/>
                                 <constraint firstItem="SR0-Ty-VJk" firstAttribute="top" secondItem="Yd1-Tn-B6L" secondAttribute="bottom" id="EWj-Na-2Yg"/>
+                                <constraint firstItem="ofV-pQ-teD" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="GWr-67-yYE"/>
                                 <constraint firstItem="Yd1-Tn-B6L" firstAttribute="top" secondItem="4WH-zT-UTg" secondAttribute="bottom" id="HRH-4S-AFe"/>
                                 <constraint firstItem="Yd1-Tn-B6L" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="HY4-cL-uVZ"/>
-                                <constraint firstItem="ofV-pQ-teD" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="d9V-Dd-6B8"/>
+                                <constraint firstAttribute="trailing" secondItem="ofV-pQ-teD" secondAttribute="trailing" id="M4j-fe-Kej"/>
+                                <constraint firstItem="V3D-gB-OaU" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="RdL-Pr-IEl"/>
+                                <constraint firstItem="V3D-gB-OaU" firstAttribute="top" secondItem="ofV-pQ-teD" secondAttribute="bottom" id="dg9-ta-nLB"/>
                                 <constraint firstItem="ofV-pQ-teD" firstAttribute="top" secondItem="SR0-Ty-VJk" secondAttribute="bottom" id="hQ3-ua-lP5"/>
                                 <constraint firstItem="4WH-zT-UTg" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="hgp-B9-vWg"/>
                                 <constraint firstAttribute="trailing" secondItem="JCJ-WU-CeP" secondAttribute="trailing" id="rnQ-v9-sDd"/>
-                                <constraint firstAttribute="height" constant="300" id="tZc-Y0-L8W"/>
+                                <constraint firstAttribute="height" constant="360" id="tZc-Y0-L8W"/>
                                 <constraint firstItem="JCJ-WU-CeP" firstAttribute="leading" secondItem="90x-yd-gin" secondAttribute="leading" id="xUh-Oi-t69"/>
                                 <constraint firstAttribute="trailing" secondItem="Yd1-Tn-B6L" secondAttribute="trailing" id="zGT-t1-pdY"/>
-                                <constraint firstAttribute="trailing" secondItem="ofV-pQ-teD" secondAttribute="trailing" id="zcW-eX-WAL"/>
                             </constraints>
                         </view>
                     </subviews>