//
// RootViewController.m
// UI9_UITableView
//
// Created by YIem on 15/12/17.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import "RootViewController.h"

@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate>

@end

@implementation RootViewController

  • (void)viewDidLoad {

    [super viewDidLoad];
    // Do any additional setup after loading the view.
    self.view.backgroundColor = [UIColor whiteColor];
    
    
    ///************UITableView 表视图*************////
    UITableView *tableView = [[UITableView alloc]initWithFrame:self.view.bounds style:UITableViewStylePlain];
    tableView.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:tableView];
    [tableView release];
    
    
    ////// 1. 设置代理人
    tableView.delegate = self;
    tableView.dataSource = self;
    
    // 设置
    // 行高
    tableView.rowHeight = 100;
    // 分割线样式
    tableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine;
    // 分割线颜色
    tableView.separatorColor = [UIColor redColor];

    }

warning 实现tableView时 必须实现的两个协议方法

// 1.每个分区中的cell行数

  • (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
    {
    // 前没有设置分区时 默认分区数为1
    return 10;
    }

// 2.设置每个cell内容
// 参数1: 触发方法的tableView
// 参数2: cell的位置信息

  • (UITableViewCell )tableView:(UITableView )tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
    {

    // indexPath 用于定位每个cell
    // 包含: roe(行号) / section(分区hao)

if 0

// 创建cell
UITableViewCell *cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil] autorelease];
// 设置
// 标题
cell.textLabel.text = @"姓名";
// 副标题
cell.detailTextLabel.text = @"phoneNumber";
// 图片
cell.imageView.image = [UIImage imageNamed:@"1"];
// 辅助视图

// cell.accessoryType = UITableViewCellAccessoryDetailButton;// 感叹号
// cell.accessoryType = UITableViewCellAccessoryCheckmark;// 对号
// cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;// 感叹号,对号

cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
// accessoryView 添加视图

endif


// cell的重用机制
// 1.从重用池中获取cell
// 参数: 重用机制 (识别不同重用池)
UITableViewCell  *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
// 2.判断cell是否存在
// !cell 等同 cell == nil
if (!cell) {
    // 3.创建cell
    // 参数1;cell的样式
    // 参数2: cell的重用标识(区分进入哪个重用池)
    cell = [[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"] autorelease];

warning 判断中 只写cell创建 不要写赋值

}
// 4.设置cell
cell.textLabel.text = @"标题";
cell.detailTextLabel.text = @"副标题";
cell.imageView.image = [UIImage imageNamed:@"1"];
cell.accessoryType = UITableViewCellAccessoryCheckmark;



// 辅助视图
// 图片

// UIImageView *img = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];
// img.image = [[UIImage imageNamed:@"1"] autorelease];
// cell.accessoryView = img;


// 开关 switch
cell.accessoryView = [[UISwitch alloc]initWithFrame:CGRectMake(0, 0, 30, 30)];


// 将设置好的cell对象返回
return cell;

}

  • (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.

    }

/*

pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation

  • (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.

    }

*/

@end