addsubview 重新加载表视图
Posted
技术标签:
【中文标题】addsubview 重新加载表视图【英文标题】:addsubivew reloads tableview 【发布时间】:2015-07-11 12:40:12 【问题描述】:我有一个view
,其中包括一个tableview
。我尝试添加另一个视图作为该视图的子视图,如下所示:
[mainviewcontroller addChildViewController:subViewcontroller];
[mainviewcontroller.view addSubview:subViewcontroller.view];
当我这样做时,tableview 会重新加载并返回到原来的位置。我应该怎么做才能防止重新加载?
我发现了问题! 因为我使用自动布局添加子视图导致添加子视图后页面刷新。有什么办法可以防止吗?!
【问题讨论】:
并没有真正看到表重新加载只是因为它被添加到视图中——您是否在某处重新加载它? @niloufar 您的问题不够清楚,您能否添加更多详细信息或编码您正在尝试做什么? 【参考方案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];
【讨论】:
谢谢,但我的问题不仅仅是选定的行,我正在使用平移手势更改表格位置,并且此重新加载导致返回到原始位置以上是关于addsubview 重新加载表视图的主要内容,如果未能解决你的问题,请参考以下文章
在 didSelectRowAtIndexPath 时更改视图控制器
使用 Highcharts 通过 JSON 重新加载图表数据