• 源码-0203-tableView的代理方法


    //
    //  ViewController.m
    //  03-tableView的代理方法
    #import "ViewController.h"
    
    @interface ViewController () <UITableViewDataSource, UITableViewDelegate>
    @property (weak, nonatomic) IBOutlet UITableView *tableView;
    
    @end
    
    @implementation ViewController
    
    
     NSString *ID = @"cell";
    - (void)viewDidLoad {
        [super viewDidLoad];
       
        UITableViewController
        
    //    self.tableView.rowHeight = 100;
    //    self.tableView.delegate = self;
        [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:ID];
        
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    #pragma mark - <UITableViewDataSource>
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
        return 30;
    }
    
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {
         // 1.拿到cell
        UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:ID];
        
        // 2.设置数据
        cell.textLabel.text = [NSString stringWithFormat:@"t456456546 - %zd", indexPath.row];
        
        return cell;
    }
    
    //- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    //{
    //    return @"假数据";
    //}
    
    #pragma mark - <UITableViewDelegate>
    /**
     *  选中某一行的时候调用(点击某一行)
     *
     *  @param indexPath 被选中的那一行
     */
    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSLog(@"selectRowAtIndexPath - %zd", indexPath.row);
    }
    
    /**
     *  取消选中某一行的时候调用
     *
     *  @param indexPath 被取消选中的那一行
     */
    - (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSLog(@"deselectRowAtIndexPath - %zd", indexPath.row);
    }
    
    /**
     *  告诉tableView第indexPath行cell的高度
     *
     */
    - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
    {
        if (indexPath.row % 2 == 0) {
            return 100;
        }
        return 70;
    }
    
    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    {
        return 44;
    }
    
    /**
     *  告诉tableView第section显示怎样的头部控件
     *
     */
    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    {
        return [UIButton buttonWithType:UIButtonTypeContactAdd];
    }
    
    - (void)scrollViewDidScroll:(UIScrollView *)scrollView
    {
        NSLog(@"----%@", scrollView);
    }
    @end
    本人无商业用途,仅仅是学习做个笔记,特别鸣谢小马哥,学习了IOS,另日语学习内容有需要文本和音频请关注公众号:riyuxuexishuji
  • 相关阅读:
    plsql excel导入报错:未发现数据源名称并且未指定默认驱动程序
    exception java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
    Android DiskLruCache 源代码解析 硬盘缓存的绝佳方案
    uestc 360(区间合并)
    UI_UITabBarController
    【C++ Primer】用于大型程序的工具
    Java 从基础到进阶学习之路---类编写以及文档凝视.
    Android 项目的代码混淆,Android proguard 使用说明
    android:Activity四种启动模式简单介绍
    已有数据库(单机)部署Database Vault
  • 原文地址:https://www.cnblogs.com/laugh/p/6432952.html
Copyright © 2020-2023  润新知