我正在编写一个 iPad 应用程序,该应用程序具有在 UIPopoverController 内的导航控制器下显示的 UITableViews。
当我在我的应用程序的主视图控制器中选择一个按钮时,会显示弹出框。弹出窗口打开显示第一个 TableViewController,它有两行 (UITableViewCells) - 第一行是“搜索”,第二行是“高级设置”。在初始显示时,弹出框的大小刚好足以显示两行。
我已经对第一个 TableViewController 的 didSelectRowAtIndexPath 进行了编码,这样当我选择“搜索”时,它会将第二个 TableViewController 推送到 NavigationViewController 上。下一个 View Controller 允许用户执行搜索,然后搜索结果会填充到其 tableview 中。)这个(搜索结果)table view controller 的大小足以容纳搜索返回的所有行。因此,在显示搜索 tableview 控制器时,搜索弹出框会变得更长。
当我取消搜索(或点击导航栏中的后退按钮)时,弹出框返回显示第一个表格视图控制器(只有两行的那个)。然而,这个第一个表视图控制器现在具有更长的尺寸。换句话说,弹出框不会将自身调整回两行表,而是保持第二个(搜索结果)表视图控制器的大小(因此它现在有两行“搜索”和“高级设置”加上一个数字空行)
我的问题是:如何在此实现中获取层次结构中的每个表视图控制器(即表视图控制器显示在导航控制器下的弹出窗口中)单独调整大小并在用户导航返回时返回其原始大小和向前。可能有一个简单的解决方案,但它逃脱了我!感谢有人能指出我的解决方案。