首页 > 代码库 > 第4课、UITableView专题(一)

第4课、UITableView专题(一)

 

 

一、 创建项目 storyboard 。

二、 往ViewController上拖一个UITableView上去。 

    此时,建立连线,右键TableView,设置datasource,到Controller上。

三、 在.h文件中,UIViewController要遵守UITableViewDataSource这个协议。

四、 如果此时,Run, 就会报错,可以看下错误信息。 

   提示没有实现numberOfSectionsInTableView方法。

 

五、 在.m文件中,整理下重要和必须的几个方法:

  5.1  分组的数量  

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView

  5.2 每个分组的行数量  

    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

  5.3 每行显示的内容  

    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

 

 

 记录个小例子:

#import "ViewController.h"@interface ViewController ()@property (strong, nonatomic) NSArray * arrLN;  //辽宁省数组@property (strong, nonatomic) NSArray * arrJS;  //江苏省数组@end@implementation ViewController- (void)viewDidLoad{    [super viewDidLoad];    
  //初始化数组 _arrLN
= @[@"沈阳市", @"大连市", @"鞍山市", @"锦州市"]; _arrJS = @[@"南京市", @"无锡市", @"徐州市", @"苏州市", @"南通市"];}#pragma mark - 分组数量- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{ return 2;  //分2组}#pragma mark - 每个分组的行数- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ if (section == 0)
{
return _arrLN.count;  //辽宁有多少行 }   else { return _arrJS.count;  //江苏有多少行 }}#pragma mark - 每行显示的内容- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ UITableViewCell * cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:nil]; if (indexPath.section == 0) { cell.textLabel.text = _arrLN[indexPath.row]; //cell显示的内容 } else { cell.textLabel.text = _arrJS[indexPath.row]; } return cell;}//分组头部-(NSString*)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section{ return section == 0 ? @"辽宁省" : @"江苏省";}

//分组尾部
-(NSString *)tableView:(UITableView *)tableView titleForFooterInSection:(NSInteger)section{ return section == 0 ? @"辽宁省结束" : @"江苏省结束";}

 

 

 

  总结:

    1.  初步了解下,TableView基本的几个方法。

    2.  小例子,在上下拖动的时候,存在Error。 待后续解决。

  

 

 

 

第4课、UITableView专题(一)