iOS:I 使用 xib 和 `autolayout` 创建一个 `uiview`,将其设置为 tableview 的 header,出现了一个奇怪的问题

iOS:I use xib with `autolayout` to create a`uiview`, set it to a tableview's header,there comes a strange issue

下面是我的代码:

    /* searchBar */
    lml_search = [[NSBundle mainBundle] loadNibNamed:@"LMLSearchHeadView" owner:self options:nil].firstObject;
    self.tableView.tableHeaderView = lml_search;

并且在我的 xib 中,我设置了 xibbackview,我为 backview 设置了 4 constraints space 到 xib 的视图。

viewcontroller1首秀是正常的,但是在viewcontroller1push到viewcontroller2,pop到viewcontroller1之后,lml_search的身高变成了0! 这段代码可以证明我:

(lldb) po lml_search
<LMLSearchHeadView: 0x7f9c1e33f4e0; frame = (0 0; 320 0); autoresize = W+H; layer = <CALayer: 0x7f9c1e33d980>>

我不知道为什么它会出现在我的项目中。

我得到了解决方案,但我必须在 viewWillAppear::

中设置 xib's 视图框架
[lml_search setFrame:CGRectMake(0, 0, kScreen_Width, 44)];

但是我不知道这个问题的真正原因。