美文网首页iOS
viewForHeaderInSection的一些坑

viewForHeaderInSection的一些坑

作者: 哈利波特会魔法 | 来源:发表于2018-05-23 11:04 被阅读0次
    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    {
        NSArray *titles = @[@"个人信息设置", @"账户安全设置"];
        
        if (section == 0) {
            return titles[0];
        } else {
            return titles[1];
        }
    }
    
    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    {
        UIView *view = [[UIView alloc] init];
    
        view.frame = CGRectMake(0, 0, SCREEN_WIDTH, 100);
        view.backgroundColor = [UIColor redColor];
        return view;
    }
    

    这2个方法同时设定,发现标题没有设置成功。
    后来换了willDisplayHeaderView,是正常的

    - (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
    {
        NSArray *titles = @[@"个人信息设置", @"账户安全设置"];
        
        if (section == 0) {
            return titles[0];
        } else {
            return titles[1];
        }
    }
    
    - (void)tableView:(UITableView *)tableView willDisplayHeaderView:(UIView *)view forSection:(NSInteger)section
    {
        UITableViewHeaderFooterView *header = (UITableViewHeaderFooterView *)view;
        header.textLabel.textAlignment=NSTextAlignmentCenter;
        header.contentView.backgroundColor = RGB(0xf8f8f8);
    }
    

    在使用 viewForHeaderInSection时,标题的设置要在里面设置,如下:

    - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
    {
        UIView *view = [[UIView alloc] init];
    
        view.frame = CGRectMake(0, 0, SCREEN_WIDTH, 100);
        view.backgroundColor = [UIColor redColor];
        
        UILabel *label = [[UILabel alloc] init];
        
        label.frame = CGRectMake(0, 0, view.frame.size.width, view.frame.size.height);
        NSArray *titles = @[@"个人信息设置", @"账户安全设置"];
        label.text = titles[section];
        [view addSubview:label];
        return view;
    }
    

    **
    注意:willDisplayHeaderViewviewForHeaderInSection,不能同时设置

    相关文章

      网友评论

        本文标题:viewForHeaderInSection的一些坑

        本文链接:https://www.haomeiwen.com/subject/ofxrjftx.html