我正在开发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