【问题标题】:Changing the orientation of a UIViewController, affects the bounds of another UITableViewController改变 UIViewController 的方向,会影响另一个 UITableViewController 的边界
【发布时间】:2017-04-26 19:35:13
【问题描述】:

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

如果设备处于横向模式,并且我导航到 UIViewController,然后导航回 UITableViewController,则边界很好。
如果我在 portriat 模式下,同样的事情,如果我导航到 UIViewController,然后导航回 UITableViewController,边界很好。

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

意味着 UITableViewController 的边界只有在我更改 ViewController 中的方向时才会混乱。

截图如下:

左侧人像法线边界:    右侧人像混乱边界:
       

           左侧横向正常边界:右侧横向混乱边界:

我尝试了很多方法,例如:

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

如果您需要任何额外信息,请告诉我。

【问题讨论】:

    标签: ios objective-c swift uitableview constraints


    【解决方案1】:

    我发现它为什么会发生,我会保留这个问题,因为每个人都可能遇到同样的问题。

    我正在使用自定义过渡来关闭 UIViewController、UIViewControllerAnimatedTransitioning,并且我没有检查自定义过渡中我是处于横向模式还是纵向模式。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 2014-09-06
      相关资源
      最近更新 更多