表格控制器

UITableViewController是UIViewController的子类


控制器中包含一个UITableView视图属性:

@property(nonatomic,retain)UITableView*tableView

UITableViewController遵循UITableView的数据源协议、代理协议

并且属性tableView的数据源、代理均被设置为控制器。


表格视图的刷新控件:

@property(nonatomic,retain)UIRefreshControl*refreshControl

这个属性默认是空的,如果创建一个UIRefreshControl后,向下拖动tableView,会在最顶端出现一个转动的菊花,并执行指定的响应方法,如:

self.refreshControl=[[UIRefreshControlalloc]init];[self.refreshControladdTarget:selfaction:@selector(refreshControlValueChanged)forControlEvents:UIControlEventValueChanged];

-(void)refreshControlValueChanged{//1.向网络上请求更多数据//2.修改模型数组//3.刷新tableView//4.停止refreshControldispatch_after(dispatch_time(DISPATCH_TIME_NOW,(int64_t)(5.f*NSEC_PER_SEC)),dispatch_get_main_queue(),^{[self.refreshControlendRefreshing];});}



静态单元格

什么是静态单元格?

页面是静态的,section和cell的个数固定

使用的前提:

1)UITableViewController的tableView

2)在storyboard中

使用静态单元格:

如:


与prototype cell的区别:

1)prototypecell需要放在数据源中加载,静态单元格不需要使用数据源

2)prototypecell的子视图连线到cell子类中,静态单元格的子视图还可以连线到控制器中


注意:

如果定义了UITableViewController的子类并且使用静态单元格,不要轻易实现数据源方法,因为数据源方法有可能将静态单元格中的设计覆盖。