Uiview在两个标题视图中均未显示



我正在开发iPad应用程序。由于某些原因,我需要在同一视图控制器中显示two tableviews。我在xib中创建了UIView,并将outlet连接到该view controller。我需要在这两个表观视图中显示为tableHeaderView。当我尝试将该视图分配给both header views时,它仅在second tableview中显示。我希望该视图有一个实例。因此,它仅在视图中显示,我上次分配了。我怎么能克服这个?任何帮助,将不胜感激。

这是我的代码。

[energyTableView setTableHeaderView:tableHeader];
[maintenanceTableView setTableHeaderView:tableHeader];

@codebystevez

正如他所说,我创建了一个Xib并尝试了。而且我仍然无法得到解决方案。我做错了吗?这是我尝试的方式。

NSArray *topLevelObjects = [[NSBundle mainBundle]loadNibNamed:@"tableHeaderCell" owner:nil options:nil];
[energyTableView setTableHeaderView:[topLevelObjects objectAtIndex:0]];
[maintenanceTableView setTableHeaderView:[topLevelObjects objectAtIndex:0]];

我认为这也和我以前一样。

您必须创建表格的另一个实例。Uiview一次只能生活在一个视觉子树中。使用IB,您可以复制元素并创建2个实例。或者,如果您仅使用该元素创建一个单独的XIB,则可以通过代码两次加载该特定的XIB,每个表标头一次。

@r.a,我知道它很乏味,可以通过编程方式进行操作,但您可以尝试此

 UIView *headerView = [[UIView alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)];
 UILabel *labelView = [[UILabel alloc] initWithFrame:CGRectMake(XXX, YYY, XXX, YYY)];
 [headerView addSubview:labelView];
 energyTableView.tableHeaderView = headerView;

类似地将其添加到其他tableview a den版本。

 [labelView release];
 [headerView release];

希望它有帮助。

一个观点无法在两个地方出现。一个视图==一个Supperiew

最新更新