注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

熊猫正正的博客

熊猫正正的天空

 
 
 

日志

 
 

自定义TableViewCell  

2013-04-29 10:08:08|  分类: ios开发 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
创建UITableViewCell子类,自定义TableViewCell,创建一个自定义类TableViewCell子类BIDNameAndColorCell,代码如下:

#import <UIKit/UIKit.h>


@interface BIDNameAndColorCell : UITableViewCell


@property (copy, nonatomic) NSString *name;

@property (copy, nonatomic) NSString *color;


@end

-------------------------


#define KNameValueTag  1

#define kColorValueTag 2


#import "BIDNameAndColorCell.h"


@implementation BIDNameAndColorCell

@synthesize name,color;


- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier

{

    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];

    if (self) {

        // Initialization code

        CGRect nameLabelRect = CGRectMake(0, 5, 70, 15);

        UILabel *nameLabel = [[UILabel alloc] initWithFrame:nameLabelRect];

        nameLabel.textAlignment = NSTextAlignmentRight;

        nameLabel.text = @"Name:";

        nameLabel.font = [UIFont boldSystemFontOfSize:12];

        [self.contentView addSubview:nameLabel];

        

        CGRect colorLabelRect = CGRectMake(0, 26, 70, 15);

        UILabel *colorLabel = [[UILabel alloc] initWithFrame:colorLabelRect];

        colorLabel.textAlignment = NSTextAlignmentRight;

        colorLabel.text = @"Color:";

        colorLabel.font = [UIFont boldSystemFontOfSize:12];

        [self.contentView addSubview:colorLabel];

        

        CGRect nameValueRect = CGRectMake(80, 5, 200, 15);

        UILabel *nameValue = [[UILabel alloc] initWithFrame:nameValueRect];

        nameValue.tag = KNameValueTag;

        [self.contentView addSubview:nameValue];

        

        CGRect colorValueRect = CGRectMake(80, 25, 200, 15);

        UILabel *colorValue = [[UILabel alloc] initWithFrame:colorValueRect];

        colorValue.tag = kColorValueTag;

        [self.contentView addSubview:colorValue];

    }

    return self;

}


- (void)setSelected:(BOOL)selected animated:(BOOL)animated

{

    [super setSelected:selected animated:animated];


    // Configure the view for the selected state

}


- (void) setName: (NSString *) n

{

    if (![n isEqualToString:name])

    {

        name = [n copy];

        UILabel *nameLabel = (UILabel *) [self.contentView viewWithTag:KNameValueTag];

        nameLabel.text = name;

    }

}


- (void) setColor:(NSString *)c

{

    if (![c isEqualToString:color])

    {

        color = [c copy];

        UILabel *colorLabel = (UILabel *) [self.contentView viewWithTag:kColorValueTag];

        colorLabel.text = color;

    }

}


@end


------------------

#import <UIKit/UIKit.h>


@interface BIDViewController : UIViewController <UITableViewDelegate,UITableViewDataSource>


@property (strong, nonatomic) NSArray *computers;


@end


------------------

#import "BIDViewController.h"

#import "BIDNameAndColorCell.h"



@interface BIDViewController ()


@end


@implementation BIDViewController

@synthesize computers;


- (void)viewDidLoad

{

    [super viewDidLoad];

// Do any additional setup after loading the view, typically from a nib.

    self.computers = @[

                       @{@"Name" : @"MacBook", @"Color" : @"White"},

                       @{@"Name" : @"MacBook Pro", @"Color" : @"Silver"},

                       @{@"Name" : @"iMac", @"Color" : @"Silver"},

                       @{@"Name" : @"Mac Mini", @"Color" : @"Silver"},

                       @{@"Name" : @"Mac Pro", @"Color" : @"Silver"}];

    

}


- (void)didReceiveMemoryWarning

{

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


#pragma mark -

#pragma mark Table Data Source Methods

- (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection:(NSInteger)section

{

    return [self.computers count];

}


- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    static NSString *CellTableIdentifier = @"CellTableIdentifier";

    BIDNameAndColorCell *cell = [tableView dequeueReusableCellWithIdentifier: CellTableIdentifier];

    if ( cell == nil)

    {

        cell = [[BIDNameAndColorCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellTableIdentifier];

    }

    

    NSDictionary *rowData = self.computers[indexPath.row];

    cell.name = rowData[@"Name"];

    cell.color = rowData[@"Color"];

    

    return cell;

}


@end




  评论这张
 
阅读(155)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017