国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

iOS開發,多個button數組,每個數組只能選中5項,多個數組只能選擇3個。

2019-11-14 18:08:14
字體:
來源:轉載
供稿:網友

 

由于常用xib,所以不想用代碼寫那么多個button。而且也懶的算位置

直接xib拉線成四個數組。水果,零食,飲料,甜點。

入題實現的功能就是,在這四個數組之中只能在3個數組只選中5項。有點繞(就比如你選擇了水果和零食飲料數組中的button之后,就不能再選中甜點了);

讀者自行理解吧。我不能表達的所有人都明白

頭部代碼

 1 #import "CityViewController.h" 2  3 @interface CityViewController () 4 //button數組 5 @PRoperty (strong, nonatomic) IBOutletCollection(UIButton) NSArray *fruitsbtns; 6 @property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *snacksbtns; 7 @property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *drinksbtns; 8 @property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *dessertbtns; 9 10 //選中數組11 @property (nonatomic ,strong) NSMutableArray * fruitsselects;12 @property (nonatomic ,strong) NSMutableArray * snacksselects;13 @property (nonatomic ,strong) NSMutableArray * drinksselects;14 @property (nonatomic ,strong) NSMutableArray * dessertselects;15 //button數組選中不能超過3個,選中的數組添加到totalarr數組中16 @property (nonatomic ,strong) NSMutableArray *totalarr;17 18 @end

 

初始化選中的數組。

 1 @implementation CityViewController 2  3 - (void)viewDidLoad { 4     [super viewDidLoad]; 5      6     //初始化選中數組 7     self.fruitsselects      = [[NSMutableArray alloc] init]; 8     self.snacksselects      = [[NSMutableArray alloc] init]; 9     self.drinksselects      = [[NSMutableArray alloc] init];10     self.dessertselects     = [[NSMutableArray alloc] init];11     12     13     14 }

接下來就是點擊事件了,

 

同樣的點擊事件也必須是拉線生成的。

同一個類里面的button所有點擊事件都是在同一個方法里面。(水果類下的所有button在 fruitsclicked:里面)

                           (零食類下的所有button在 snacksclicked:里面)

                           (飲料類下的所有button在 drinksclicked:里面)

                           (甜點類下的所有button在 dessertclicked:里面)

 

 

我封裝了一個方法,用于每個類選中的button加進選中的btn數組里面;

 1 - (void)select:(UIButton *)sender withselectmutablearray:(NSMutableArray *)mutablearray andarray:(NSArray *)array 2 { 3     //數組 還沒選到2項的時候 4     if(self.totalarr.count <= 3) 5     { 6         for (UIButton *btn in array) { 7              8             if ([btn.currentTitle isEqualToString:sender.currentTitle]) { 9                 if (!btn.selected) {10                     if (mutablearray.count <=4) {11                         btn.selected = YES;12                         [mutablearray addObject:btn];13                     }else14                     {15                         UIAlertView *aler = [[UIAlertView alloc] initWithTitle:@"提示" message:@"選多了" delegate:self cancelButtonTitle:@"確定" otherButtonTitles: nil];16                         [aler show];17                     }18                     19                 }else20                 {21                     btn.selected = NO;22                     [mutablearray removeObject:btn];23                     24                 }25             }26             27         }28         29         //數組不等于0的時候。30     }else if(self.totalarr.count != 0 && mutablearray.count != 0)31     {32         for (UIButton *btn in array) {33             34             if ([btn.currentTitle isEqualToString:sender.currentTitle]) {35                 if (!btn.selected) {36                     if (mutablearray.count <=4) {37                         btn.selected = YES;38                         [mutablearray addObject:btn];39                     }else40                     {41                         UIAlertView *aler = [[UIAlertView alloc] initWithTitle:@"提示" message:@"選多了" delegate:self cancelButtonTitle:@"確定" otherButtonTitles: nil];42                         [aler show];43                     }44                     45                 }else46                 {47                     btn.selected = NO;48                     [mutablearray removeObject:btn];49                     50                 }51             }52             53         }54         55         56     }else57     {58         UIAlertView *aler = [[UIAlertView alloc] initWithTitle:@"提示" message:@"選多了" delegate:self cancelButtonTitle:@"確定" otherButtonTitles: nil];59         [aler show];60     }61     62     63 }

 

四個button數組類的點擊事件:

先判斷total是否為空。total是記錄多個數組選中了多少

 

  1 //水果類點擊事件  2 - (IBAction)fruitsClicked:(UIButton *)sender {  3       4       5     NSString *str = @"水果";  6       7     if(self.totalarr.count == 0)  8     {  9         [self.totalarr addObject:str]; 10     }else 11     { 12         if ([self.totalarr containsObject:str]) { 13         }else 14         { 15             [self.totalarr addObject:str]; 16         } 17     } 18      19     [self select:sender withselectmutablearray:self.fruitsselects andarray:self.fruitsbtns]; 20      21     if(self.fruitsselects.count == 0) 22     { 23         [self.totalarr removeObject:str]; 24     } 25      26  27      28 } 29  30  31 //零食類點擊事件 32 - (IBAction)snacksClicked:(UIButton *)sender { 33      34     NSString *str = @"零食"; 35      36     if(self.totalarr.count == 0) 37     { 38         [self.totalarr addObject:str]; 39     }else 40     { 41         if ([self.totalarr containsObject:str]) { 42         }else 43         { 44             [self.totalarr addObject:str]; 45         } 46     } 47      48     [self select:sender withselectmutablearray:self.snacksselects andarray:self.snacksbtns]; 49      50     if(self.snacksselects.count == 0) 51     { 52         [self.totalarr removeObject:str]; 53     } 54 } 55  56 //飲料類點擊事件 57 - (IBAction)drinksClicked:(UIButton *)sender { 58      59     NSString *str = @"飲料"; 60      61     if(self.totalarr.count == 0) 62     { 63         [self.totalarr addObject:str]; 64     }else 65     { 66         if ([self.totalarr containsObject:str]) { 67         }else 68         { 69             [self.totalarr addObject:str]; 70         } 71     } 72      73     [self select:sender withselectmutablearray:self.drinksselects andarray:self.drinksbtns]; 74      75     if(self.drinksselects.count == 0) 76     { 77         [self.totalarr removeObject:str]; 78     } 79      80 } 81  82 //甜點類點擊事件 83 - (IBAction)dessertClicked:(UIButton *)sender { 84      85     NSString *str = @"甜點"; 86      87     if(self.totalarr.count == 0) 88     { 89         [self.totalarr addObject:str]; 90     }else 91     { 92         if ([self.totalarr containsObject:str]) { 93         }else 94         { 95             [self.totalarr addObject:str]; 96         } 97     } 98      99     [self select:sender withselectmutablearray:self.dessertselects andarray:self.dessertbtns];100     101     if(self.dessertselects.count == 0)102     {103         [self.totalarr removeObject:str];104     }105     106 }

 

 

很高興。這是自己寫的第一篇小功能小技術的實現。

以后會多多寫點自己實現的小技術效能。望大家多多支持

 

謝謝;

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 西吉县| 张家川| 方城县| 开阳县| 海兴县| 绥棱县| 南和县| 金溪县| 罗定市| 榆林市| 墨竹工卡县| 高清| 富裕县| 旬阳县| 惠来县| 河北省| 禄丰县| 砀山县| 盈江县| 元江| 福安市| 夹江县| 咸阳市| 皋兰县| 黄陵县| 水城县| 五华县| 阳江市| 汤阴县| 博湖县| 兴城市| 绥德县| 六盘水市| 静海县| 类乌齐县| 阿拉善左旗| 绥棱县| 鹤岗市| 石家庄市| 资源县| 确山县|