zoukankan      html  css  js  c++  java
  • [9]UITableView表视图1

    UITableView表视图

    UITableViewDataSource,UITableViewDelegate UITabelView表视图的俩个协议,
    UITableViewDataSource这个协议中的俩个必须执行的方法

    @required
    //显示多少行
    - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section;
    //每行显示的内容
    - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath;
    

    点击选中单元格的时候执行的方法

    - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
    {
        NSLog(@"%@",indexPath);
    }
    

    设置头部区域的高度 注意:在自定义头部文本的时候 默认的不用写 但是头部区域的高度一定要写 正确使用这个的高度显示 不然不会出现头部文本

    - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
    {
        return 60;
    }
    

    给分区头部自定义视图

    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    {
        UILabel *footLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 375, 60)];
        footLabel.text = @"食物";
        footLabel.font = [UIFont boldSystemFontOfSize:30];
        footLabel.textAlignment = NSTextAlignmentCenter;
        
        UILabel *bookLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 375, 0)];
        bookLabel.text = @"四大名族";
        bookLabel.font = [UIFont boldSystemFontOfSize:30];
        bookLabel.textAlignment = NSTextAlignmentCenter;
        
        UILabel *gameLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 375, 60)];
        gameLabel.text = @"游戏";
        gameLabel.font = [UIFont boldSystemFontOfSize:30];
        gameLabel.textAlignment = NSTextAlignmentCenter;
        switch (section) {
            case 0:
                return footLabel;
                break;            
            case 1:
                return bookLabel;
                break;
            case 2:
                return gameLabel;
                break;            
            default:
                break;
        }
        return nil;
    }
    

    设置分区头部显示文本

    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    {    
        switch (section) {
            case 0:
                return @"食物";
                break;
            case 1:
                return @"四大名族";
                break;
            case 2:
                return @"游戏";
                break;
            default:
                break;
        }
        return nil;
    }
    

    //设置表视图的分区个数

    - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
    {
        return 3;
    }
    

    小技巧 :何时需要重写loadView方法???
    1.RootViewController继承自UIViewController,继承了loadView方法,可以给自定的视图指定新视图
    2.UIViewController 通过loadView方法创建的视图是一个空视图,如果我们的需求不是空视图,那么就需要我们自己创建一个视图,指定给self.view,此时需要重写loadView方法

    On the road。。。
  • 相关阅读:
    新书推荐——《How We Test Software at Microsoft》
    [ZZ]采访与书摘:使用C#进行基于模型的软件测试和分析
    Adding Different Types of Data Sources to a Web Test
    [ZZ]为什么传统的自动化测试工具会扼杀敏捷?
    很久没有这么High了
    留图以纪念这次地震
    white——Automate windows applications
    WatiN、Wax、WatiN Test Recorder开源自动化测试框架
    绝版的T61普屏
    有感于公司搬家
  • 原文地址:https://www.cnblogs.com/ianhao/p/4471658.html
Copyright © 2011-2022 走看看