UITableViewCell的三种加载方式

  UITableViewCell有很多加载方式,我最喜欢新建一个类然后用代码创建。为了给大家举例子,这次用到了IB。三中加载效果图,其实没差别啦,就看大家喜欢哪一种了,挑熟悉自己的方法吧,不过每种方法还是有点差异,例如第二种,在需要使用这个cell的类中IBOutlet 一个这个cell的对象。只需要读取一次,然后放在内存中,所以速度会很快。

第一种方法是新建一个继承自UITableViewCell的类,包含xib文件

,这里要改成新建的类名哦

在ib里面拖一个TableViewCell,在里面直接加东西就行了。很简单,再在-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
方法里面添加下面代码段

        NSArray *NibObjects = [[NSBundle mainBundle]loadNibNamed:@"iCodeBlogCustomCell" owner:nil options:nil];
        //第一种加载方式
        for (id obj inNibObjects)
        {
        if ([obj isKindOfClass:[iCodeBlogCustomCell class]]) {
            cell = (iCodeBlogCustomCell*)obj;
            break;
            }
        }

第二种加载方式:也很简单,在ViewController.h里面声明变量IBOutlet UITableViewCell *loadedCell;

在ViewController.xib里面拖一个UITableViewCell,记住要放在空白处,不要放在默认的View上,连上线就OK了

然后在-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法里写

                [[NSBundle mainBundle] loadNibNamed:@"Cell" owner:self options:nil];
                cell = loadedCell;
                loadedCell = nil;

 

第三种方法:

新建一个空xib

,起名为EmptyCell,在往.xib里面拖一个UITableViewCell,在上面随便涂鸦,然后再在ViewDidLoad里面添加代码

    UINib *EmptyCell = [UINib nibWithNibName:@"EmptyCell" bundle:nil];
    [self.table registerNib:EmptyCell forCellReuseIdentifier:@"2cell"];

就完成了,甚至不用在-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath里面写任何代码,简单吧

 

posted @ 2012-12-14 22:22  小白猪jianjian  阅读(577)  评论(0编辑  收藏  举报