美文网首页
ios tableView headView 高度为0不显示问题

ios tableView headView 高度为0不显示问题

作者: 整个夏天 | 来源:发表于2017-06-14 09:59 被阅读26次

    问题描述

    从xib中加载出一个view,然后设置tableView的headView,
    此时headView无法正常显示,在DebugView中观察到的headView的高度为0.

    NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:name owner:nil options:nil];
    UIView * view =[nibContents lastObject];
    [self.tableView setTableHeaderView:headView];
    

    问题引申

    如果从xib中加载出来的view设置为headView后的高度为0,那么直接用代码创建一个view会是什么样的情况了?

    UIView * headView =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 40)];
    headView.backgroundColor=[UIColor redColor];
    [self.tableView setTableHeaderView:headView];
    

    此时的headView是可以正常显示的

    问题解决

    用代码创建一个headView的parentView,然后将从xib中加载出来的headView放在parentView中,将parentView设置为tableView的headView,即可完美解决.

    UIView * parentView =[[UIView alloc]initWithFrame:CGRectMake(0, 0, 100, 40)];
    
    NSArray *nibContents = [[NSBundle mainBundle] loadNibNamed:name owner:nil options:nil];
    UIView * headView =[nibContents lastObject];
    headView.frame=parentView.bounds;
    [parentView addSubview:headView];
    
    [self.tableView setTableHeaderView:parentView];
    

    相关文章

      网友评论

          本文标题:ios tableView headView 高度为0不显示问题

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