ios - 更改 UIViewController 的方向会影响另一个 UITableViewController 的边界

标签 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()
}

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

最佳答案

我找到了发生这种情况的原因,我会保留这个问题,因为每个人都可能遇到同样的问题。

我正在使用自定义转换来关闭 UIViewController、UIViewControllerAnimatedTransitioning,并且我不会在自定义转换中检查我是处于横向模式还是纵向模式。

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

关于ios - 更改 UIViewController 的方向会影响另一个 UITableViewController 的边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43643064/

相关文章:

ios - 自动布局 "conflicting constraints"

iOS app 首次运行用户教程

ios - 在 uitableviewcell 中更新标签文本而不重新加载整个表格

ios - 更新 UITextView.text 属性时未调用 textViewDidChange 方法?

ios - NSKeyedUnarchiver 不会返回数据

ios - 使用 Phonegap 实现 VOIP

objective-c - iOS UI 覆盖库?

ios - block 完成后,如何访问 __block 变量?

iphone - 如何在 UITextfield 验证中避免特殊字符(@、#、& 等)

ios - 如何在 Swift 中将自定义图像添加到页面指示器?