3

我有一个正在尝试加载到 tableViewHeader 的自定义视图。奇怪的是,背景的底部总是被切断。就好像导航栏正在按下按钮,而不是视图的其余部分。

笔尖看起来像这样:

笔尖图片

我在我的 tableviewcontroller 中这样设置它:

[[NSBundle mainBundle] loadNibNamed:@"MenuNav" owner:self options:nil];
[self.tableView setTableHeaderView:headerView];

这就是它在模拟器中的样子。这些按钮也不处理下半部分的点击。

模拟器中的图像

我尝试过的: - 将子视图放在前面:

[self.tableView bringSubviewToFront:headerView];

- 设置表格视图的需要布局:

[self.tableView setNeedsLayout]

- 我还检查了视图的框架是否正确。

有任何想法吗?谢谢!

编辑

我找到了罪魁祸首。我不得不取消选中 IB 中的 Autoresize Subviews:http: //i.imgur.com/jH2bs.png

4

2 回答 2

1

也许你可以尝试:

  • (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section;

返回您的视图和 Jacky Boy 所说的返回标题高度的方法:

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section;

于 2012-05-11T08:11:49.953 回答
0

您是否尝试过使用视图的 autoresizingMask ?我将在您的代码中添加类似这样的内容:

headerView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
于 2012-05-11T08:05:42.390 回答