UITableView 展示的内容不确定,不同的cell展示的风格可能完全不一样,就想网易新闻,第一个cell是一种展现样式,第二个cell可能就是另一重展现了,或者类似一些购物App,第一cell是幻灯片,接着肯能是瓷片,后面可能是普通cell,请问这种情况该如何去设计,去组织代码?
解决方案 »
- 利用SDWebImage 异步加载图片的话,怎么跟踪进度?
- 关于viewport
- 【ios】发送请求的信息 怎样通过BCD压缩
- mfc 中的unicode cstring字符串 移植到ios 中
- iphone flash player项目外包
- 问一下iOS的工作待遇怎么样
- 现阶段大家用什么布局啊,个人倾向storyboard,但是感觉性能啊,兼容性啊不是很大。求大神谈谈看法
- 求大神解答ios app 更换证书后版本发布问题
- 如何 使 block 中代码先运行后在执行下面的代码
- ipad播放h5 video标签视频时 如何取消内联样式?求大神教育。
- oc调用Swift类"projectName-swift.h"not found
- UIAlertView为什么可以不遵守协议就能实现代理方法?
1.就是在cellForRow那个代理方法里,根据条件返回不同的cell. 复用。
2.heightForRow里面也是一样。
3.tableview有header view和footerview这两个也可以利用起来。
复杂设计:有些多,码字太累。
2.问题是如何去绑定数据源,滑动时时,会有循环利用,高度该如何去计算,去缓存?是一次数据源收集的时候计算好了,并缓存好了?还是每次用到了,再去计算,然后缓存高度.
3.对于不同分割的cell,该如何去设计?是抽象通用父类,父类封装通用熟悉,方法,子类继承?还是每一个celld单独继承UItableviewcell,
4.对于数据源cellForIndexPath该如何去设计,根据不同的数据初始化相应的cell,并把对应的数据设置进去,数据设置进去cell后,cell里面的子控件该如何去布局,去展示数据比较好?想了几个方案,最后都都否了,望大神们出谋划策,不甚感激
// 根据数据模型不同,从复用队列中取出不同的cell使用
id obj = self.dataArray[indexPath.row];
if ([obj isKindOfClass:[NewsModel1 class]]) {
NewsCell1 *cell = [tableView dequeueReusableCellWithIdentifier:@"cell1"];
[cell fullCellWithModel1:obj];
return cell;
}
else if ([obj isKindOfClass:[NewModel2 class]]){
NewsCell2 *cell = [tableView dequeueReusableCellWithIdentifier:@"cell2"];
[cell fullCellWithModel2:obj];
return cell;
}
else if ([obj isKindOfClass:[NewsModel3 class]]) {
NewsCell3 *cell = [tableView dequeueReusableCellWithIdentifier:@"cell3"];
[cell fullCellWithModel3:obj];
return cell;
}
else {
return nil;
}
}