调整xib的大小以用于UITableView的节头视图

时间:2016-04-20 18:33:55

标签: ios objective-c uitableview autolayout

我正在尝试将基于xib的UIView用于我的UITableView的节标题视图。

我的xib大小设置为“自由形式”,宽度为600px。宽度应该是流畅的,并且适应tableView的宽度。相反,我正在获得600px宽视图渲染,使其看起来偏离中心。

我正在使用自动布局,但由于我使用的是单独的xib,我无法弄清楚在哪里设置约束,以便剖面视图的宽度与它的tableview相匹配。

红色部分是我的部分标题,我正在显示手机的整个宽度。 enter image description here

1 个答案:

答案 0 :(得分:0)

我明白了。我最初尝试了两种不同的方法:

  • 在我的故事板中添加了一个视图,将视图设置为与我的xib相同的类,创建了一个插座,并在viewForHeaderInSection内部我刚刚返回self.sectionHeaderView
  • 没有向storyboard添加任何内容,而是在viewForHeaderInSection内,我只是实例化了一个新类并返回sectionHeaderView

使用这两种方法我可以使用xib渲染,但不能调整它的宽度。

为了使这个工作,在viewDidLoad中,我用我的tableView注册了我的xib:

[self.tableView registerNib:[UINib nibWithNibName:@"HeaderView" bundle:nil] forHeaderFo`oterViewReuseIdentifier:@"HeaderView"];

然后,在viewForHeaderInSection,我做了:

HeaderView *headerView = [tableView dequeueReusableHeaderFooterViewWithIdentifier:@"HeaderView"];
return headerView;

我的tableView提前注册了我的xib,tableView能够调整它的节标题视图。