day11-购物车01-搭建基本骨架
2020-06-22 本文已影响0人
js_huh
是什么?
思路:
-
为什么不能直接继承自
UITableViewController
?@interface ViewController : UIViewController
- 因界面不是只有一个
TableView
,还有一个工具条UIView
(包含:总价,购物,清空购物车)
-
tableFooterView
可以用来做工具条吗?-
tableFooterView
是什么? ( 表尾控件 )- 列表最底部的一行.如下(灰色的那一行):
- 注意: 不是固定得,所以不能用来做"工具条"
-
tableFooterView
的应用场景.- 告诉用户 "没有更多内容了...." / "我是有底线得..."
-
tableFooterView
的特点:- 它是铺满整行得,所以只需要设置的高度即可.
-
-
如何在控件TableVie基础上,添加Cell子控件 ? (更改
PrototypeCells
)
-
为什么在
storyboard
中,给cell
设置了可重用标示,就可在代码中省略if(cell == nil){ .... }
呢?- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *ID = @"wine"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID]; if(cell == nil){ cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:ID]; } return cell; }
- 创建
cell
的流程 ?- 首先根据
dequeueReusableCellWithIdentifier:ID
方法中的'可重用标示ID',去缓冲池里找。
看是否有"可重用标识"所修饰的cell
。- 有,则从缓冲池里面直接拿来用。
- 没有则会去看,
viewDidLoad
里面是否有注册。 - 没有注册,则会去
storyboard
里面的cell控件
找,看有没有"可重用标示ID",所对应的标示名:wine
。- 在
storyboard
中设置cell
的可重用标示.
- 有,则加载此
cell
且返回标识!
- 首先根据
- 为什么
storyboard
里面的cell控件
有"可重用标示"后,就可以省略:if(cell == nil){ .... }
?- 在
storyboard
的cell控件
有Identifier 且
ID的名称 和dequeueReusableCellWithIdentifier
的ID相同的情况下,cell
是不可能为空得, 所以可以省略。
- 在
- 创建
-
自定义
cell
?- 为什么要自定义cell?
- 系统的
cell
不能满足我现在的需求。
- 系统的
- 怎么自定义cell?
- 创建继承自
UITableViewCell
的自定cell。
-
storyboard
中设置cell的类型 = 自定义类
- 创建继承自
- VC中使用自定义
cell
?- 引用
#import "WineCell.h"
-
tableView : cellForRowAtIndexPath:
创建WineCell
- 引用
- 为什么用
UITableViewCell
也可以创建出自定义WineCell
?-
UITableViewCell
是WineCell
的父类。 - 父类指针,指向子类对象是被允许得。
-
- 为什么要自定义cell?