【问题标题】:UIModalPresentationStyle.FormSheet Always full screen on iPad (SWIFT)UIModalPresentationStyle.FormSheet 在 iPad 上始终全屏 (SWIFT)
【发布时间】:2014-10-24 17:54:00
【问题描述】:

我正在尝试将一些 Objective-C 代码翻译成 SWIFT。

我正在将 UIViewController 作为表单加载。 这是objective-c中的代码:

generalPopup.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
generalPopup.modalPresentationStyle = UIModalPresentationFormSheet;

这是 Swift 中的代码:

generalPopup.modalTransitionStyle = UIModalTransitionStyle.CoverVertical
generalPopup.modalPresentationStyle = UIModalPresentationStyle.FormSheet

在 Objective-C 中,视图显示为 FormSheet。 在 swift 中,CoverVertical 保持不变,但视图占据了整个屏幕,而不是显示为 FormSheet。

提醒一下,根据 Apple 的说法,FormSheet 是:

一种视图呈现样式,其中呈现的视图的宽度和高度小于屏幕的宽度和高度,并且视图在屏幕上居中。如果设备处于横向且键盘可见,则视图的位置会向上调整,以便视图保持可见。所有未覆盖的区域都会变暗,以防止用户与其交互。

【问题讨论】:

    标签: objective-c uiviewcontroller swift presentviewcontroller uimodalpresentationstyle


    【解决方案1】:

    继续引用文档:

    在水平紧凑的环境中,此选项的行为与UIModalPresentationFullScreen. 相同

    您似乎有一个“水平紧凑的环境”。检查 swift 项目中的情节提要设置。

    【讨论】:

    • 在哪里可以查看此设置?
    • 如果IB中有segue,检查segue的类型。检查视图控制器及其视图的尺寸。
    • 没有转场。调用 ViewController 来自 StoryBoard,但被调用的 (FormSheet) 视图控制器使用独立的 XIB
    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 2012-05-29
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多