代码改变世界

转:用Category类别来设置TableViewCell的背景图

2012-02-03 23:13  张智清  阅读(1158)  评论(0编辑  收藏  举报

直接上转载代码吧!

// UITableViewCellExt.h

@interface UITableViewCell (UITableViewCellEx)
- (void)setBackgroundImage:(UIImage *)image;
- (void)setBackgroundImageByName:(NSString *)imageName;
@end
#import "UITableViewCellExt.h"

@implementation UITableViewCell (UITableViewCellExt)
- (void)setBackgroundImage:(UIImage*)image
{
    UIImageView *imageView = [[UIImageView alloc] initWithImage:image];
    imageView.contentMode = UIViewContentModeCenter;
    self.backgroundView = imageView;
    [imageView release];
}

- (void)setBackgroundImageByName:(NSString *)imageName
{
    [self setBackgroundImage:[UIImage imageNamed:imageName]];
}
@end

调用示例:

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {    
    static NSString *CellIdentifier = @"Cell";   
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease];
        
        cell.selectionStyle = UITableViewCellSelectionStyleNone;
        
        [cell setBackgroundImageByName:@"text-background.png"];        
    }   
    return cell;
}