zoukankan      html  css  js  c++  java
  • tableview 重用nib cell

     
    #import "ViewController.h"
    #import "NewsTableViewCell.h"
    
    #define UISCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
    #define UISCREEN_WIDTH  ([UIScreen mainScreen].bounds.size.width)
    @interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
    
    @property (nonatomic, strong) UITableView               * tableView;
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        
        if ([self tableView]) {
            //一定先要注册class 再注册 nib
            [self.tableView registerClass:[NewsTableViewCell class] forCellReuseIdentifier:@"NewsTableViewCell"];
             UINib * nib = [UINib nibWithNibName:@"NewsTableViewCell" bundle:nil];
            [self.tableView registerNib:nib forCellReuseIdentifier:@"NewsTableViewCell"];
        }
        // Do any additional setup after loading the view, typically from a nib.
    }
    -(UITableView *)tableView
    {
        if (!_tableView) {
            _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, UISCREEN_WIDTH, UISCREEN_HEIGHT) style:UITableViewStylePlain];
            _tableView.backgroundColor = [UIColor clearColor];
            _tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
            _tableView.delegate = self;
            _tableView.dataSource = self;
            
            [self.view addSubview:_tableView];
        }
        return _tableView;
    }
    
    -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return 10;
    }
    
    -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        return 120;
    }
    
    -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        UITableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"NewsTableViewCell" forIndexPath:indexPath];
    //    if (!cell) {
    //        cell = [[[NSBundle mainBundle] loadNibNamed:@"NewsTableViewCell" owner:self options:nil] lastObject];
    //    }
        return cell;
    }
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    

      

  • 相关阅读:
    【动画】看动画轻松理解「Trie树」
    浅析HTTP/2的多路复用
    HTTPS 详解
    PHP写时复制(Copy On Write)
    golang 几种字符串的拼接方式
    正排索引和倒排索引简单介绍
    传值还是传引用
    lvs与nginx区别
    Docker运行操作系统环境(BusyBox&Alpine&Debian/Ubuntu&CentOS/Fedora)
    原创-thanos组件(聚合多个prometheus组件)原理介绍
  • 原文地址:https://www.cnblogs.com/nonato/p/4443995.html
Copyright © 2011-2022 走看看