【问题标题】:addsubivew reloads tableviewaddsubview 重新加载表视图
【发布时间】:2015-07-11 12:40:12
【问题描述】:

我有一个view,其中包括一个tableview。我尝试添加另一个视图作为该视图的子视图,如下所示:

[mainviewcontroller addChildViewController:subViewcontroller];
[mainviewcontroller.view addSubview:subViewcontroller.view];

当我这样做时,tableview 会重新加载并返回到原来的位置。我应该怎么做才能防止重新加载?

我发现了问题! 因为我使用自动布局添加子视图导致添加子视图后页面刷新。有什么办法可以防止吗?!

【问题讨论】:

  • 并没有真正看到表重新加载只是因为它被添加到视图中——您是否在某处重新加载它?
  • @niloufar 您的问题不够清楚,您能否添加更多详细信息或编码您正在尝试做什么?

标签: ios objective-c addsubview


【解决方案1】:

关键是table view的两个内存只是有区别,实际上两个table view不是同一个“UITableView”。

所以问题不是“reloadData”,问题是你有两个表视图,或者你创建它然后创建另一个新的。

【讨论】:

  • 感谢您的回复,我只有一个表格视图,我将其添加到故事板中的 mainViewController 中,然后我尝试添加另一个视图作为子视图,然后刷新表格视图...
【解决方案2】:

只需保留所选单元格的索引并在之后调用它。 比如:

NSIndexPath* index = [yourTableView indexPathForSelectedRow];
[mainviewcontroller addChildViewController:subViewcontroller];
[mainviewcontroller.view addSubview:subViewcontroller.view];
[yourTableView selectRowAtIndexPath:index animated:NO];

【讨论】:

  • 谢谢,但我的问题不仅仅是选定的行,我正在使用平移手势更改表格位置,并且此重新加载导致返回到原始位置
猜你喜欢
  • 1970-01-01
  • 2018-04-12
  • 1970-01-01
  • 2014-09-07
  • 1970-01-01
  • 2015-08-29
  • 2012-07-02
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多