比如有这么一个需求
要做一个展示商品页面:
第一行图片
第二行商品介绍
第三行展示评价
代码:
在 tableView 的 dataSource 和 delegate 方法里面直接 if/else 判断:
if (index == 0) {
//图片
} else if (index == 1) {
//商品介绍
} else if (index == 2) {
//评价
}
请教一下有木有好点方法
1
fengzeyan 2016-02-16 09:42:34 +08:00
Scrollview 好了。。
|
2
vincentxue 2016-02-16 09:49:30 +08:00
创建了一个类作为 model, 每个类实例代表了一条 data. 每次只需要创建若干这个类实例, cell 接收类实例传入, 展示的时候直接展示就好.
这个类的内容根据你的需求不同而不同. |
3
loveuqian 2016-02-16 09:52:34 +08:00
cell 接收 data
重写 data 的 set 方法,在里面搞事 |
4
doluvor 2016-02-16 10:10:27 +08:00
你的 tableView 的每个 cell 应该有对应 viewModel 。 viewModel 里面应该有 cell 的类型,当然更好的设计是不同的 cell 类型应该实现不同的 protocol ,通过 viewModel 的类型来生成不同的 cell 。
|
5
jjgod 2016-02-16 10:29:31 +08:00
你的需求用 UIStackView 就行,不需要 Table View 。
|
6
ameba 2016-02-16 10:29:41 +08:00
换 UIStackView 吧
|
7
nathanw 2016-02-16 11:39:46 +08:00
用 2 楼的方法,自定义 model ,
然后在 dataSource 和 delegate 里面,根据 model 类型判断,而不是 indexPath |
8
zjmdp 2016-02-16 17:03:04 +08:00
没有人建议用不同的 section 来处理这些异构的 model 么?
3 个 section ,直接判断 indexPath.section 来处理图片,商品介绍和评价 |
10
c447279704 2016-02-16 18:17:56 +08:00
三个 cell ,作为 datasource 的属性,三个 cell 放到一个数组,直接把 index.section 作为 index 从数组中取 cell 即可
|
11
bullettrain1433 2016-02-17 15:19:35 +08:00
@zjmdp fdstackview 支持 ios6 还是 ios7 来的
|