UI 元素在 segue 创建后改变位置

UI Elements change position after segue creation

我正在使用 Swift 创建我的第一个 iOS 应用程序。

第一个 viewController 上面有一些按钮。

我需要在单击 a 按钮时导航到第二个 viewController。为此,我正在创建一个从按钮到第二个 viewController.

的 segue

创建推送转场后,第二个 viewController 中的所有 UI 元素都会移动它们的位置,如下所示:

在创建 segue 之前:

然后,一旦创建了 segue:

您可能会看到来自第二个视图控制器的所有 UI 个元素都改变了它们的位置。

我应该怎么做才能避免这种情况?让所有元素都在原来的位置应该注意什么?

您应该将第二个视图控制器的呈现样式更改为全屏

你 ui 元素没有改变位置,是 iOS 13 中新的呈现样式改变了并且看起来不同。您可以通过两种方式防止这种情况。 在 storyBoard 中转到 secondvc 和

select 全屏或在您的演示后按代码显示或继续显示

   let vc = UIStoryBoard("Main",bundle, nil).instatiateViewController(withIdentifier: "secondViewControllerStoryBoardIdentifier") as! SecondViewController
vc.modalPresentationStyle = .fullScreen

这里是演示文稿,如果不是 segue

self.present(vc,animated:true)

将演示文稿更改为全屏。 enter image description here