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


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

    ViewController.h  

    #import <UIKit/UIKit.h>
    
    @interface ViewController : UITableViewController<UITableViewDelegate, UITableViewDataSource>
    
    @property (strong, nonatomic) NSArray *listTeams;
    
    @end
    

      

     

    ViewController.m

    #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";
        
      //因为我是自定义的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

    #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

      

      

  • 相关阅读:
    js堆和栈
    document.write的用处!
    nodejs选择JavaScript作为开发语言,是因为一般的开发语言的标准库都是带有IO模块的,并且通常这个 模块是阻塞性的,所以nodejs选择了没有自带IO模块的Javascript
    addEventListener和attachEvent的区别
    保留两位小数
    文字图片飞舞
    CSS3 2D 转换
    安装phpstudy之后发现80端口被占用
    docker 部署项目的实战操作
    性能实战第一天基础01-设计测试场景以及如何做性能测试
  • 原文地址:https://www.cnblogs.com/saurik/p/4801052.html
Copyright © 2020-2023  润新知