更改UIViewController的方向会影响另一个UITableViewController

时间:2017-04-26 19:35:13

标签: ios objective-c swift uitableview constraints

我有一个UITableViewController,我可以从另一个UIViewController向它添加单元格。

如果设备处于横向模式,我导航到UIViewController,然后导航回UITableViewController,边界就可以了。
同样的事情,如果我在portriat模式,如果我导航到UIViewController,并导航回UITableViewController,边界是好的。

问题开始显示我是否在特定方向模式下的UITableViewController上,并导航到UIViewController并更改了方向。当我导航回UITableViewController时,边界完全搞砸了。

这意味着当我更改ViewController中的方向时,UITableViewController的边界只会搞砸。

以下是截图:

左侧的肖像法线边界:右侧的肖像混乱边界:
 enter image description here enter image description here

左边的横向边界:右边的横向边界: enter image description here enter image description here

我尝试过很多东西:

override func viewDidLayoutSubviews() {// tried viewWillLayoutSubviews() too
    self.tableView.frame = UIScreen.main.bounds
    self.tableView.layoutIfNeeded()
    self.tableView.updateConstraintsIfNeeded()
}

如果您需要任何额外信息,请与我们联系。

1 个答案:

答案 0 :(得分:0)

我发现它为什么会发生这种情况,我会问每个人都会遇到同样的问题。

我正在使用自定义转换来解除UIViewController,UIViewControllerAnimatedTransitioning,而且我没有检查我是否在自定义转换中处于横向模式或纵向模式。

如果您遇到同样的问题,请确保您恢复到屏幕范围。