开发者

Added table view cells follow 1 custom style?

开发者 https://www.devze.com 2023-04-04 23:02 出处:网络
I am wanting to create a custom UITableView cell. I would like to know how to do this. I understand how to actually create it and write code for it, but how can i create 1 style and then when i have m

I am wanting to create a custom UITableView cell. I would like to know how to do this. I understand how to actually create it and write code for it, but how can i create 1 style and then when i have more cells added, i want the same style. How can i do this? Is there a way to create 1 custom cell and have all the other cells that i want to add later follow this ce开发者_如何学Golls style?Thanks for the help!


In my projects I'm implementing method that creates custom style programmatically. Also it is possible to make custom cell via IB and when you need just take custom cell from it.

Don't forget that if you will write your code correctly then your cells will be reused and that method will be called only for number of cells that are visible in your table view.


may be this can help you http://iphone-bitcode.blogspot.com/2011/06/custom-tableview-cell.html


Write a separate .h/.m/.xib for the cell, and in the .xib set File's Owner to the class you want multiple copies of it in (your table view controller class, most likely). Attach it to an IBOutlet you created in the table view controller for new cells.

Then, each time you want a cell, try and dequeueReusableCellWithIdentifier: on your tableView, and if that doesn't work (you have no reusable ones), make a new cell using your custom class by simply loading the nib file. It will automatically create an instance of the cell and attach it to your IBOutlet, and then just retain the cell and set the outlet back to nil for the next time you need to create a cell. Essentially, I mean this (I have an IBOutlet UITableViewCell *cellOutlet):

- (UITableViewCell *)tableView:(UITableView *)tableView
         cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *reuseIdentifier = @"CustomCell";
    UITableView *cell = [self.tableView
                         dequeueReusableCellWithIdentifier:reuseIdentifier];
    if (cell == nil) {
        [[NSBundle mainBundle] loadNibNamed:@"MyCustomTableViewCell"
                                      owner:self options:nil];
        cell = cellOutlet;
        self.cellOutlet = nil; // autoreleases
        cell.reuseIdentifier = reuseIdentifier;
    }

    // configure the cell here
    return cell;
}
0

精彩评论

暂无评论...
验证码 换一张
取 消