自定义UITableViewCell复用分享

来源:互联网 发布:jquery mobile.js下载 编辑:程序博客网 时间:2024/06/06 08:57
来坛子这么久了,一直都是求助求助,今天发现了自定义UITableViewCell的复用问题,特分享一下,也做点贡献: 
 
我们平时经常会使用到自定义的UITableViewCell。通过xib绘制之后,我们的加载方式也改为了 
cell = [[[NSBundle mainBundle] loadNibNamed:@"HomePageTableViewCell" owner:self options:nil] objectAtIndex:0]; 
在这里,我们看不到了平时使用的reuseIdentifier了。。下面我分享下自定义UITableViewCell的制作和重用方法 
 
首先,我们可以新建一个CustomTableViewCell.h和.m文件 
之后新建一个xib文件,一般保持和.h文件同名。 
 
这个时候,我们的xib的objects里面是空的,拖入一个UITableViewCell。然后绘制好自己需要的元素。将他的Class改为CustomTableViewCell。之后在属性页的indentifier里面填上复用的标识符。例如直接填写CustomTableViewCell 
 
在cellForRowAtIndexPath中。加载cell的方式改为如下 
static NSString *cellidentify = @"CustomTableViewCell"; 
CustomTableViewCell *cell = (CustomTableViewCell *)[tableView dequeueReusableCellWithIdentifier:cellidentify]; 
if (cell == nil) { 
        cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomTableViewCell" owner:self options:nil] objectAtIndex:0]; 
} 
 
这样,就能复用了。 
 
另外,我们的cell的加载时候,不会再调用.m文件中的- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier方法 
而是调用- (void)awakeFromNib方法。我们可以在我们的.m文件中重载这个方法即可。 
 
根据6楼的建议,加上了IOS5中的新的复用方法。代码不方便贴,直接上传一个demo吧。感谢6楼教授新方法
0 0
原创粉丝点击