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
    

      

  • 相关阅读:
    Assignment 1-3 :Pattern Recognition
    GDB Guide
    Java 进阶
    Lab 4: Cache Geometries
    Buffer Overflows Lab
    二进制炸弹Lab
    Assignment 1-2 :Randomized Queues
    Assignment 1 :Percolation
    CSAPP Chapter 2
    在win7下用U盘安装Ubuntu,实现双系统
  • 原文地址:https://www.cnblogs.com/nonato/p/4443995.html
Copyright © 2011-2022 走看看