博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tableView
阅读量:6818 次
发布时间:2019-06-26

本文共 4632 字,大约阅读时间需要 15 分钟。

- (NSArray *)wineArray

{

    if (!_wineArray) {

        NSArray *dictArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"wine.plist" ofType:nil]];

        

        NSMutableArray *temp = [NSMutableArray array];

        for (NSDictionary *wineDict in dictArray) {

            [temp addObject:[LZJWine wineWithDict:wineDict]];

        }

        

        _wineArray = temp;

    }

    return _wineArray;

}

- (void)viewDidLoad {

    [super viewDidLoad];

    // 设置tableView每一行cell的高度

    self.tableView.rowHeight = 100;

    

    // 设置tableView每一组的头部高度

    self.tableView.sectionHeaderHeight = 80;

    // 设置tableView每一组的尾部高度

//    self.tableView.sectionFooterHeight = 80;

    

    // 设置分割线的颜色

//    self.tableView.separatorColor = [UIColor redColor];

    

    // 设置分割线的样式

    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;

    

    // 设置表头控件

    self.tableView.tableHeaderView = [[UISwitch alloc] init];

    // 设置表尾控件

    self.tableView.tableFooterView = [[UISwitch alloc] init];

}

 

#pragma mark - UITableViewDataSource

 

// section == 0

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section

{

    return self.wineArray.count;

}

 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath

{

    UITableViewCell *cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:nil];

    

    // 设置右边显示的指示样式

    cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;

    // 设置右边显示的指示控件

    cell.accessoryView = [[UISwitch alloc] init];

    // 设置选中样式

//    cell.selectionStyle = UITableViewCellSelectionStyleNone;

    

    // 设置cell的背景View

    // backgroundView的优先级 > backgroundColor

//    UIView *bg = [[UIView alloc] init];

//    bg.backgroundColor = [UIColor blueColor];

//    cell.backgroundView = bg;

    

    // 设置cell的背景颜色

//    cell.backgroundColor = [UIColor redColor];

    

    // 设置cell选中时候的背景view

//    UIView *selectedBg = [[UIView alloc] init];

//    selectedBg.backgroundColor = [UIColor greenColor];

//    cell.selectedBackgroundView =  selectedBg;

    

  

 

    // 取出indexPath 对应的酒模型

    LZJWine *wine = self.wineArray[indexPath.row];

    

    // 设置数据

    cell.textLabel.text = wine.name;

    cell.imageView.image = [UIImage imageNamed:wine.image];

    cell.detailTextLabel.text = [NSString stringWithFormat:@"¥%@",wine.money];

    cell.detailTextLabel.textColor = [UIColor orangeColor];

    

    return cell;

}

 

#pragma mark - UITableViewDelegate

/**

 *  选中了某一行cell就会调用这个方法

 */

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    NSLog(@"选中了:%ld",indexPath.row);

}

 

/**

 *  取消选中了某一行cell就会调用这个方法

 */

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath

{

//     NSLog(@"取消选中了:%ld",indexPath.row);

}

 

/**

 *  返回每一组显示的头部控件

 */

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

{

    return [UIButton buttonWithType:UIButtonTypeContactAdd];

}

 

/**

 *  返回每一组显示的尾部控件

 */

//- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section

//{

//    

//}

 

/**

 *  返回每一组的头部高度

 */

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section

{

    return 100;

}

 

/**

 *  返回每一组的尾部高度

 */

//- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section

//{

//    

//}

 

/**

 *  返回每一行cell的高度

 */

//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

//{

//    if (indexPath.row % 2 == 0) {

//        return 100;

//    } else {

//        return 50;

//    }

//}

 

 

—————————

- (void)viewDidLoad {

    [super viewDidLoad];

    

    UITableView *tableView = [[UITableView alloc] init];

    tableView.frame = CGRectMake(50, 100, 200, 300);

    tableView.backgroundColor = [UIColor grayColor];

    tableView.dataSource = self;

    tableView.delegate = self;

    [self.view addSubview:tableView];

    

    // 内边距

//    tableView.contentInset = UIEdgeInsetsMake(64, 0, 49, 0);

    

    // header - footer

    UIView *header = [[UIView alloc] init];

    header.frame = CGRectMake(0, 0, tableView.frame.size.width, 64);

    header.backgroundColor = [UIColor yellowColor];

    tableView.tableHeaderView = header;

    

//    UIView *footer = [[UIView alloc] init];

//    footer.frame = CGRectMake(0, 0, tableView.frame.size.width, 49);

//    footer.backgroundColor = [UIColor yellowColor];

//    tableView.tableFooterView = footer;

    

    // 额外添加的子控件

    UIView *header2 = [[UIView alloc] init];

    header2.frame = CGRectMake(0, -64, tableView.frame.size.width, 64);

    header2.backgroundColor = [UIColor blueColor];

    [tableView addSubview:header2];

}

 

#pragma mark - <UITableViewDelegate>

- (void)scrollViewDidScroll:(UIScrollView *)scrollView

{

    NSLog(@"contentOffset.y = %f", scrollView.contentOffset.y);

}

 

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

{

    NSLog(@"contentSize.height = %f", tableView.contentSize.height);

}

转载于:https://www.cnblogs.com/liuzhenjie/p/5446448.html

你可能感兴趣的文章
apicloud弹出层
查看>>
从入门到菜鸟的经验分享
查看>>
python疑问6:生成器,可迭代对象,迭代器区别和联系
查看>>
【299天】跃迁之路——程序员高效学习方法论探索系列(实验阶段57-2017.12.01)...
查看>>
对象的点查询和中括号查询
查看>>
一行代码搞定人脸识别
查看>>
python3进程和线程
查看>>
【quickhybrid】Android端的项目实现
查看>>
Webpack3简单入门1
查看>>
好的代码可以自己说话!
查看>>
css揭秘笔记——用户体验
查看>>
【287天】每日项目总结系列025(2017.11.19)
查看>>
对于“不用setInterval,用setTimeout”的理解
查看>>
JavaScript设计模式--工厂模式
查看>>
前端开发者搭建自己的博客
查看>>
storm集群安装与部署
查看>>
tomcat
查看>>
微信原图泄露的只能是 Exif ,你的隐私不在这!!!
查看>>
在 V8 中从 JavaScript 到 C++ 的类型转换
查看>>
升级Python导致的yum,pip报错解决方案
查看>>