【问题标题】:UIView not showing in both header viewsUIView 没有显示在两个标题视图中
【发布时间】:2012-10-30 14:28:57
【问题描述】:

我正在开发一个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]];

我想这也和我以前做的一样。

【问题讨论】:

  • 1 个视图 == 1 个超级视图,你不能同时在两个地方使用它

标签: ios ipad uiview tableview


【解决方案1】:

一个视图不能出现在两个地方....表示简化 一个视图 == 一个超级视图

【讨论】:

    【解决方案2】:

    @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一个den释放它。

     [labelView release];
     [headerView release];
    

    希望对你有帮助。

    【讨论】:

      【解决方案3】:

      您必须创建 tableHeader 的另一个实例。 UIView 一次只能存在于一个可视子树中。使用 IB,您可以复制元素并创建它的 2 个实例。或者,如果您使用该元素创建一个单独的 xib,您可以通过代码加载该特定 xib 两次,每个表头一次。

      【讨论】:

      • 你的意思是我需要复制并粘贴相同的 uiview 并将插座连接到另一个名称的视图并设置为 tableViewHeader?如果是这样,那么我将需要另一个相同的观点。我不能在代码本身中重用相同的视图吗?我认为会有一些其他的解决方案。
      • 无法克隆现有元素。所以是的,你需要另一个 IBOutlet 来与你的 xib 中的另一个视图副本相关联。
      • 好的,我会这样做。但我会等待,如果我能得到比这更好的解决方案。非常感谢。
      • 没有“比这更好的解决方案”。一个 UIView 对象不能有多个父视图。因此,您需要有两个您所说的这种观点的实例,因此这个答案就是您问题的答案。不要等待,现在编码! :))
      猜你喜欢
      • 1970-01-01
      • 2011-04-11
      • 2018-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多