zoukankan      html  css  js  c++  java
  • tableView

    - (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);

    }

  • 相关阅读:
    Variable OR State Visiblity:Stale Data, Locking and Visiblity and Volatile(So many Unnoticed aspect in MultiThread)
    WCF 4 Behavior
    The Atomic classes in Java 5: AtomicInteger and AtomicLong,AtomicReference etc.
    Servlet Only One Instance In Container?
    Lock and Reentrant
    JAVA Final KeyWord And Thread Safety
    c#之基础语法 event 如何触发回调事件
    c#基础语法之 解读delegate create by lee
    Create project Django ( python framework ) wrote by lee
    invade mysql 初学者学习mysql create by lee
  • 原文地址:https://www.cnblogs.com/liuzhenjie/p/5446448.html
Copyright © 2011-2022 走看看