【问题标题】:Xcode 11.1 View controller visible underneath current VC when presenting modallyXcode 11.1 查看控制器在当前 VC 下可见时以模态方式呈现
【发布时间】: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

【问题讨论】:

    标签: xcode interface-builder segue viewcontroller presentmodalviewcontroller


    【解决方案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 并投票,祝您编码愉快 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多