复用Cell 做 tableviewHeader
2016-04-27 本文已影响0人
BarnettWu
问题:自定义cell ,此cell的样式和header一样,于是复用,产生如下情况:
<img src="https://img.haomeiwen.com/i1331321/8f4eb2c2e2334d1b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/120" width=120px height=200px display=inline >
原因:cell虽然继承自UIView,但是init 的方式和UIView不同,在此处,不能复用当做UIView使用,既不能做tableviewheader
即使创建一个UIView做表头,再上面加上cell,也不行。
UIView *header = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 300)];
self.tableView.tableHeaderView = header;
[header addSubview:headerView];
NSLog(@"%@",self.tableView.tableHeaderView);
Snip20160427_9.png
解决方案:
重新创建一个类继承自UIView,除了init方式不同别的code完全复制。
由此想到,反过来是可以的,
有一个UIView要复用做cell,可以先用UITableviewCell做cell,再这个复用的UIView加在Cell上,OK的~~~