【原】自定义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
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步