表格控制器
UITableViewController是UIViewController的子类
控制器中包含一个UITableView视图属性:
@property(nonatomic, retain) UITableView *tableView
UITableViewController遵循UITableView的数据源协议、代理协议
并且属性tableView的数据源、代理均被设置为控制器。
表格视图的刷新控件:
@property(nonatomic, retain) UIRefreshControl *refreshControl
这个属性默认是空的,如果创建一个UIRefreshControl后,向下拖动tableView,会在最顶端出现一个转动的菊花,并执行指定的响应方法,如:
self.refreshControl = [[UIRefreshControl alloc] init]; [self.refreshControl addTarget:self action:@selector(refreshControlValueChanged) forControlEvents:UIControlEventValueChanged];
- (void) refreshControlValueChanged { //1.向网络上请求更多数据 //2.修改模型数组 //3.刷新tableView //4.停止refreshControl dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5.f * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [self.refreshControl endRefreshing]; }); }
静态单元格
什么是静态单元格?
页面是静态的,section和cell的个数固定
使用的前提:
1)UITableViewController的tableView
2)在storyboard中
使用静态单元格:
如:
与prototype cell的区别:
1)prototype cell需要放在数据源中加载,静态单元格不需要使用数据源
2)prototype cell的子视图连线到cell子类中,静态单元格的子视图还可以连线到控制器中
注意:
如果定义了UITableViewController的子类并且使用静态单元格,不要轻易实现数据源方法,因为数据源方法有可能将静态单元格中的设计覆盖。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。