標籤:
UITableView派生自UIScrollView
UITableView結構如下:
背景是滾動視圖,每個橫向的表格稱為cell ( UITableViewCell )
每一個 cell 既可以儲存資料,也可以接受選中的事件,
我們選中某個cell時,可以下拉式清單,可以推出新的頁面
在編輯模式選中多個cell,可以大量刪除等。
成員變數
1 {2 UITableView * _tableV;3 NSMutableArray * _dataArr;4 UISearchController * _search;5 NSMutableArray * _selectCell;6 }
UITableView建立 (寫在方法中,可用 self 調用)
-(void)createTableView{ _tableV = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height-64) style:UITableViewStyleGrouped]; //設定UITableView風格 兩種風格 /* UITableViewStylePlain, UITableViewStyleGrouped */ //設定代理 _tableV.delegate = self; _tableV.dataSource = self; _tableV.separatorStyle = UITableViewCellSeparatorStyleSingleLine; [self.view addSubview:_tableV];}
UITableViewDataSource 協議方法
設定 UITableView cell (required)
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ //重定位器 static NSString * str = @"cell"; //取出隊列中的cell UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:str]; //如果cell為null ,則建立新的cell if (!cell) { cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:str]; } cell.textLabel.text = _dataArr[indexPath.row]; return cell;}
設定 UITableView 分區(section)的cell的數目 (required)
-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ //return [[_dataArr objectAtIndex:section] count]; return _dataArr.count;}
設定 UITableView 分區 (section)的數目 (optional)
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView; // Default is 1 if not implemented{ return 1;}
設定 UITableView title header (optional)
-(NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return @"title";}
設定 UITableView title footer (optional)
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{ return @"footer title";}
設定 UITableView title footer (optional)
IOS UI學習 UITableView ----- UITableViewDataSource