1. 程式人生 > >iOS tableView多選,全選

iOS tableView多選,全選

實現了多個分組的卷展顯示,單行選擇及分組全選的功能

首先定義需要是用到的幾個陣列及tableview

  1. @property(nonatomic,strong)NSMutableArray * showSectionArray;  
  2. @property(nonatomic,strong)NSMutableArray * seleStudentArray;  
  3. @property(nonatomic,strong)NSMutableArray * seleClassArray;  
  4. @property(nonatomic,strong)UITableView * tableView;  

首先是tableview和頂部按鈕的建立

  1. - (void)viewDidLoad {  
  2.     [super viewDidLoad];  
  3.     self.showSectionArray = [NSMutableArray array];  
  4.     self.seleStudentArray = [NSMutableArray array];  
  5.     self.seleClassArray = [NSMutableArray array];  
  6.     UITableView * tableView = [[UITableView alloc
    ] initWithFrame:CGRectMake(040, SCREEN_WIDTH, SCREEN_HEIGHT - 40) style:UITableViewStyleGrouped];  
  7.     [self.view addSubview:tableView];  
  8.     tableView.delegate = self;  
  9.     tableView.dataSource = self;  
  10.     self.tableView = tableView;  
  11.     UIButton * subBtn = [UIButton buttonWithType:UIButtonTypeCustom];  
  12.     [subBtn setTitle:@"提交" forState:UIControlStateNormal];  
  13.     subBtn.frame = CGRectMake(020, SCREEN_HEIGHT, 20);  
  14.     subBtn.backgroundColor = [UIColor redColor];  
  15.     [subBtn addTarget:self action:@selector(subMit) forControlEvents:UIControlEventTouchUpInside];  
  16.     [self.view addSubview:subBtn];  
  17. }  
這裡隨手設定了兩個fram不要在意

然後是tableview的各個代理方法的實現

  1. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{  
  2.     if ([self hasShowSection:section]) {  
  3.         return0;  
  4.     }else{  
  5.         return12;  
  6.     }  
  7. }  
  8. -(NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{  
  9.     return7;  
  10. }  
  11. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{  
  12.     ZSeleCell * cell = [tableView dequeueReusableCellWithIdentifier:@"idcell"];  
  13.     if (!cell) {  
  14.         cell = [[ZSeleCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"idcell"];  
  15.     }  
  16.     cell.nameLable.text = [NSString stringWithFormat:@"第%ld個學生",(long)indexPath.row];  
  17.     if ([self hasShowSeleRow:indexPath] ) {  
  18.         cell.leftBtn.selected = YES;  
  19.     }else{  
  20.         cell.leftBtn.selected = NO;  
  21.     }  
  22.     [cell.leftBtn addTarget:self action:@selector(addSele:) forControlEvents:UIControlEventTouchUpInside];  
  23.     cell.leftBtn.tag = 1100000 * indexPath.section + indexPath.row;  
  24.     return cell;  
  25. }  
  26. -(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{  
  27.     [tableView deselectRowAtIndexPath:indexPath animated:YES];  
  28.     UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom];  
  29.     button.tag = 1100000 * indexPath.section + indexPath.row;  
  30.     [self addSele:button];  
  31. }  
  32. -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{  
  33.     return0.1;  
  34. }  
  35. -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{  
  36.     return30;  
  37. }  
  38. -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{  
  39.     return38;  
  40. }  
  41. -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{  
  42.     ZseleHeadView * headView = [[ZseleHeadView alloc] initWithFrame:CGRectMake(00, SCREEN_WIDTH, 30) WithSection:section];  
  43.     headView.showBtn.selected = [self hasShowSection:section];  
  44.     [headView.showBtn addTarget:self action:@selector(addShowSec:) forControlEvents:UIControlEventTouchUpInside];  
  45.     headView.seleClassBtn.selected = [self hasShowSeleClass:section];  
  46. 相關推薦

    iOS tableView

    實現了多個分組的卷展顯示,單行選擇及分組全選的功能 首先定義需要是用到的幾個陣列及tableview @property(nonatomic,strong)NSMutableArray * showSectionArray;   @propert

    js實現複框的

    多選,全選,反選 js實現複選框的多選,全選,反選 js實現複選框的多選,全選,反選 <table> <thead> <tr> <th><input type="checkbox"

    JqGrid 標題欄checkbox事件

    1、當在JqGrid表格屬性中設定了multiselect:true,這時會在每一行前面出現checkbox 2、而在點選欄的checkbox時,表格全選或全部選,這時觸發的事件是onSelectAll onSelectAll:function(ro

    操作js相關技術

    刷新 checkbox dal 重新 所有 split ise pan ppc jsp上編寫全選框,單選框 全選框 1 <td class="TableHeaderCell" style="width: 30px;"> 2 <input id="

    js以後如果選中其中一個效果取消如果複框全部選中按鈕自動也被選中

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

    《Vuejs實戰》--帶單總價分類的購物車功能實現

    《vuejs實戰》這本書中5.5是一道實戰題:利用計算屬性、指令等知識開發購物車。 練習1:在當前示例基礎上擴充套件商品列表,新增一項是否選中該商品的功能,總價變為只計算選中商品的總價,同時提供一個全選的按鈕。 練習2:將商品列表list改為一個二維陣列來實現商品的分類,

    Vue實現商城裏面個商品計算刪除

    als ons enter box urn num src display ack <!--包含 全選/不全選 批量刪除 全部金額計算 數量加減--> 簡陋的CSS代碼 .main{ width: 100%;}.title{ wid

    線上選課案例—通過js實現效果。順便談談理解的半吊子flag這個變數

    要點: 1.首先分為兩個業務邏輯的模組,首先 全選/取消全選 的按鈕會的選中的狀態或者沒有選中,他的返回值是Boolean型別,也就是說通過通過這個通過全選按鈕將其Boolean型別的值,通過迴圈賦值給全選框下面所有的單選按鈕 2.再單選按鈕執行之前,將所有的單選按鈕狀態做一次判斷,判斷是否

    Angularjs bootstrap table支援單擊行選中

    最終實現效果: index.html <!DOCTYPE html> <html> <head> <script src="//ajax.googleapis.com/ajax/libs/ang

    iOS tableView編輯刪除(單

    viewDidload 新增for (int i = 0; i <_reouseArray.count ; i++) { NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; [dict

    修改tableView預設藍色選中按鈕 , , 取消

    經常會有需求 , 更改tableView多選的預設按鈕顏色 , 預設為藍色 , 很多情況下可能會根據自己專案的主題色進行修改 . 簡單粗暴 , 直接上程式碼 . 重寫Cell的佈局方法 ,

    ListView中新增CheckBox,進行項選擇完美無Bug

    新手筆記: 最近做一個列表,實現批量選擇刪除功能,用到了ListView中新增的CheckBox,來進行多項選擇,全選,反選等。因為用到了ListView,故對新手來說,有很多坑。 1、由於ListView採用了Recycler,即重複利用convertView,所以用Ch

    jquery實現復反選中的問題

    了解 span htm cli ems 添加 send 籃球 需要 今天試了一下用jquery選擇復選框,本來以為很簡單的東西卻有bug,於是搜索了一下找到了解決方法。 html代碼如下(這裏沒有用任何樣式,就沒有再放css了): <html> <

    vue實現

    == htm input rip for cli pla -c item 1.example.vue <template> <table class="table-common"> <tr> <th class="th1">

    checkbox/子復父復框選中

    cte pro sta var click self style cli log <input type="checkbox" class="optionListAll">/* 父復選框 */ <input type="checkbox" name="o

    圖片 分享 body clas inf bubuko 全選 ima 技術分享 全選,反選

    4.1郵箱的

    example text -c style html function keyword if語句 基礎上 事件:onclick 屬性:checked 對於分清getElementsByTagName(‘元素名‘)裏的元素名, 可以先提取其外面一層的元素,再在此基礎上用get

    jQuery實現復框的

    全不選 title www add bold tab 要求 bsp input <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></tit

    Jquery

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script src="/vue/js/jquery-3.

    JavaScript實現--小記

    學習前端的時候記下小知識點。 如下】、 <script> //靜態頁面載入完成後再載入。js window.onload=function () { var btn1=document.getElement