【原】自定义tableViewCell的两种方法

1、通过xib文件创建自定义cell

ViewController.h  

1
2
3
4
5
6
7
#import <UIKit/UIKit.h>
 
@interface ViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource>
 
@property (strong, nonatomic) NSArray *listTeams;
 
@end

  

 

ViewController.m

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#import "ViewController.h"
#import "CustomCell.h"
 
@interface ViewController ()
 
@end
 
@implementation ViewController
 
- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    NSBundle *bundle = [NSBundle mainBundle];
    NSString *plistPath = [bundle pathForResource:@"team" ofType:@"plist"];
     
    //获取属性列表中的全部数据
    self.listTeams = [[NSArray alloc] initWithContentsOfFile:plistPath];
}
 
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}
 
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [self.listTeams count];
}
 
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *cellIdentifier = @"Cell";
    <br>  //因为我是自定义的cell,加载的时候要进行初始化
    static BOOL nibsRegistered = NO;
    if (!nibsRegistered) {
        UINib *nib = [UINib nibWithNibName:@"CustomCell" bundle:nil];
        [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
        nibsRegistered = YES;
    }
     
    CustomCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
     
    NSUInteger row = [indexPath row];
    NSDictionary *rowDict = [self.listTeams objectAtIndex:row];
     
    cell.myLabel.text = [rowDict objectForKey:@"name"];
    cell.myLabel2.text = [rowDict objectForKey:@"name2"];
    cell.myLabel3.text = [rowDict objectForKey:@"name3"];
     
    NSString *imagePath = [rowDict objectForKey:@"image"];
    imagePath = [imagePath stringByAppendingString:@".png"];
    cell.myImageView.image = [UIImage imageNamed:imagePath];
     
    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
     
    return cell;
}
 
@end

 

CustomCell.h

1
2
3
4
5
6
7
8
9
10
#import <UIKit/UIKit.h>
 
@interface CustomCell : UITableViewCell
 
@property (weak, nonatomic) IBOutlet UIImageView *myImageView;
@property (weak, nonatomic) IBOutlet UILabel *myLabel;
@property (weak, nonatomic) IBOutlet UILabel *myLabel2;
@property (weak, nonatomic) IBOutlet UILabel *myLabel3;
 
@end

CustomCell.xib

Identifier:Cell

 

Main.storyboard 

TableView不需要Cell

 

2、在Main.storyboard中的TableViewCell中自定义Cell

TableViewCell中的Identifier:Cell

不需要初始化自定义的Cell

  

  

posted @   Saurik  阅读(250)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示