Procházet zdrojové kódy

1.修改iOS Apex Mobile KPI滚动后没有保存前一个状态。

Pen Li před 8 roky
rodič
revize
f4adf0e2ba

+ 14 - 2
Apex Mobile/Apex Mobile/HomeViewController.m

@@ -288,7 +288,19 @@ typedef enum {
                 NSArray *kpiArr = [json objectForKey:@"KPI"];
 
                 [self.KPIArray addObject:[[kpiArr firstObject] mutableCopy]];
-                [self.KPIArray addObjectsFromArray:kpiArr];
+                for (int i = 0; i < kpiArr.count; i++) {
+                    NSMutableDictionary *kpiModel = [[kpiArr objectAtIndex:i] mutableCopy];
+                    NSMutableArray *itemMutArr = [NSMutableArray array];
+                    NSArray *itemArr = [kpiModel objectForKey:@"arr_val"];
+                    for (int j = 0; j < itemArr.count; j++) {
+                        NSMutableDictionary *item = [[itemArr objectAtIndex:j] mutableCopy];
+                        [itemMutArr addObject:item];
+                    }
+                    [kpiModel setObject:itemMutArr forKey:@"arr_val"];
+                    
+//                    [self.KPIArray addObjectsFromArray:kpiArr];
+                    [self.KPIArray addObject:kpiModel];
+                }
                 [self.KPIArray addObject:[[kpiArr lastObject] mutableCopy]];
                 
                 
@@ -529,7 +541,7 @@ typedef enum {
 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
     
     KPICell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"KPICell" forIndexPath:indexPath];
-    NSMutableDictionary *item = [[self.KPIArray objectAtIndex:indexPath.item] mutableCopy];
+    NSMutableDictionary *item = [self.KPIArray objectAtIndex:indexPath.item];
     [item setObject:self.monthArray forKey:@"month"];
     [cell setInfoDic:item];
     cell.delegate = self;

+ 4 - 4
Apex Mobile/Apex Mobile/KPICell.m

@@ -175,13 +175,13 @@
 - (void)labelClicked:(UIButton *)sender {
     NSInteger index = sender.tag - TAG_INDEX;
     NSDictionary *json = _infoDic;
-    NSMutableArray * itemsArr = [json[@"arr_val"] mutableCopy];
-    NSMutableDictionary* item = [[itemsArr objectAtIndex:index] mutableCopy];
+    NSMutableArray * itemsArr = json[@"arr_val"];
+    NSMutableDictionary* item = [itemsArr objectAtIndex:index];
     //
     sender.selected = !sender.selected;
     [item setObject:@(sender.selected) forKey:@"display"];
-    [itemsArr replaceObjectAtIndex:index withObject:item];
-    [self.infoDic setObject:itemsArr forKey:@"arr_val"];
+//    [itemsArr replaceObjectAtIndex:index withObject:item];
+//    [self.infoDic setObject:itemsArr forKey:@"arr_val"];
     [self setInfoDic:self.infoDic];
 }
 

+ 14 - 0
Apex Mobile/Apex Mobile/KPILegendCell.m

@@ -28,6 +28,20 @@
     // Configure the view for the selected state
 }
 
+- (void)prepareForReuse {
+    [super prepareForReuse];
+    
+    [self.btn_0 setImage:nil forState:UIControlStateNormal];
+    [self.btn_0 setTitle:nil forState:UIControlStateNormal];
+    [self.btn_0 setImage:nil forState:UIControlStateSelected];
+    [self.btn_0 setTitle:nil forState:UIControlStateSelected];
+    
+    [self.btn_1 setImage:nil forState:UIControlStateNormal];
+    [self.btn_1 setTitle:nil forState:UIControlStateNormal];
+    [self.btn_1 setImage:nil forState:UIControlStateSelected];
+    [self.btn_1 setTitle:nil forState:UIControlStateSelected];
+}
+
 - (IBAction)btn_1_click:(id)sender {
     
 }