Xcode 11.1 查看控制器在当前 VC 下可见时以模态方式呈现

Posted

技术标签:

【中文标题】Xcode 11.1 查看控制器在当前 VC 下可见时以模态方式呈现【英文标题】:Xcode 11.1 View controller visible underneath current VC when presenting modally 【发布时间】:2019-10-15 18:26:23 【问题描述】:

Xcode 自动更新,现在我的注册屏幕视图控制器显示在我转换到的当前视图控制器下方。 See screenshot我该如何解决这个问题?

如果我使用 Interface Builder 创建一个 segue 并以模态方式选择 present,当我运行应用程序时,我现在将看到当前屏幕下方的上一个屏幕。在更新之前,这从来都不是问题。 (我在整个 App 中使用相同的背景,所以我的大部分 View Controller 背景都设置为透明。)

另外我认为这是相关的,当我在 Xcode 中查看我的情节提要并设置为使用 iPhone 8 Plus 时,它会显示一个以前不存在的浅灰色圆角矩形。 See storyboard layout 当我运行应用程序时,我的大多数视图控制器现在都被限制在这个形状上,不再是全屏的。 See this example here 我的设置视图控制器使用白色背景,因此您可以更轻松地看到我在说什么。这个 VC 曾经是全屏的,没有向下移动,顶部是圆角的。有什么想法吗?

Xcode 11.1 针对 ios 12.1

【问题讨论】:

【参考方案1】:

在 iOS 13 中,如果您有任何 storyboard segue,请转到 storyboard,您需要将 kind 属性设置为 Present ModallyPresentation 属性全屏

对于以编程方式使用 Swift

let vc = UIViewController()
vc.modalPresentationStyle = .fullScreen 
self.present(vc, animated: true, completion: nil)

对于Objective-C

UIStoryboard *story = [UIStoryboard storyboardWithName:@"Main" bundle:nil];
UIViewController *vc = [story instantiateViewControllerWithIdentifier:@"identifier"];
vc.modalPresentationStyle = UIModalPresentationFullScreen ;
[self presentViewController:vc animated:YES completion:nil];

【讨论】:

感谢您解决了我的问题并为我指明了正确的方向! @TerrenceDev 太好了!如果问题得到解决,那么您可以接受 ans 并投票,祝您编码愉快 :)

以上是关于Xcode 11.1 查看控制器在当前 VC 下可见时以模态方式呈现的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 11.1 GM 发布,这可能才是真正的 Xcode 11;Swift 5.2 正式提上日程

Xcode 11.1 错误:产生多个命令

Xcode - iOS - 要更改的导航控制器场景顺序

以编程方式创建 UIView 在 Xcode 11.1 中不起作用

在 Mac OS 11.1 中运行 Xcode 12.3 项目时您无权保存文件

Xcode:使用情节提要的附加视图控制器上的可达性